a:6:{i:0;s:8945:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Senior Hadoop Developer</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Senior Hadoop Developer</p>
					</div>
					</div>
					</section>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 5 - 11 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Chennai</p>
										
					<div>
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="901869"><input type="hidden" name="subject" value="Applied for Senior Hadoop Developer">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">The Hadoop Developer position will provide expertise in a wide range of technical areas, including but not limited to: Cloudera Hadoop ecosystem, Java, collaboration toolsets integration using SSO, configuration management, hardware and software configuration and tuning, software design and development, and application of new technologies and languages that are aligned with other client internal projects. <br />
1. Design and development of data ingestion pipelines.<br />
2. Perform data migration and conversion activities.<br />
3. Develop and integrate software applications using suitable development methodologies and standards, applying standard architectural patterns, taking into account critical performance characteristics and security measures.<br />
4. Collaborate with Business Analysts, Architects and Senior Developers to establish the physical application framework (e.g. libraries, modules, execution environments).<br />
5. Perform end to end automation of ETL process for various datasets that are being ingested into the big data platform.<br />
Required:<br />
<br />
1. Hadoop (Cloudera (CDH)) , HDFS, Hive, Impala, Spark, Oozie, HBase<br />
2. SCALA <br />
3. SQL<br />
4. Linux<br />
5. JSON<br />
6. Python, Perl<br />
Good to Have:<br />
7. Strong Database Design Skills<br />
8. ETL Tools<br />
9. NoSQL databases (Mongo, Couchbase, Cassandra)<br />
10. Good understanding and working knowledge of Agile development<br />
1.	Lead technical design sessions, suggest best solution options per industry standards <br />
2.	Document and maintain project artifacts.<br />
2. Suggest best practices, and implementation strategies using Hadoop, Java, ETL tools.<br />
3. Maintain comprehensive knowledge of industry standards, methodologies, processes, and best practices.<br />
4. Other duties as assigned.</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  50 Thousand  To  18  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">5 - 11 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Higher Secondary, Professional Degree, Other Bachelor Degree, B.Tech/B.E, M.C.A</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Hadoop</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">HDFS</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Hive</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Impala</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Spark</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Oozie</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Hbase</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">SCALA</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">SQL</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Linux</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">JSON</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Python</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">Perl</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">ETL Tool</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">NoSQL</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">MongoDB</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">couchbase</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px">cassandra</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="901869"><input type="hidden" name="subject" value="Applied for Senior Hadoop Developer">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(9)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(9)</b></span>
									
				</div>
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'NjZ2c1BZRndUUWRmdkF0NWpDdXlnQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:104:"Senior Hadoop Developer Jobs in Chennai - Vacancy in IT Software - Application Programming / Maintenance";i:2;s:217:"Senior Hadoop Developer Jobs,Senior Hadoop Developer Jobs in Chennai,Senior Hadoop Developer Vacancy in Chennai,Senior Hadoop Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Chennai";i:3;s:396:"Apply for Senior Hadoop Developer Jobs in Chennai India - Senior Hadoop Developer Vacancy  in IT Software - Application Programming / Maintenance field with 5 to 11 years Work Experience, Key Skills are Hadoop,HDFS,Hive,Impala,Spark,Oozie,Hbase,SCALA,SQL,Linux,JSON,Python,Perl,ETL Tool,NoSQL,MongoDB,couchbase,cassandra, IT Software - Application Programming / Maintenance jobs in Chennai  India";i:4;s:2622:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Hadoop Developer",
		  "baseSalary": " 5  Lac  50 Thousand  To  18  Lac ",
		  "description": "The Hadoop Developer position will provide expertise in a wide range of technical areas, including but not limited to: Cloudera Hadoop ecosystem, Java, collaboration toolsets integration using SSO, configuration management, hardware and software configuration and tuning, software design and development, and application of new technologies and languages that are aligned with other client internal projects. 
1. Design and development of data ingestion pipelines.
2. Perform data migration and conversion activities.
3. Develop and integrate software applications using suitable development methodologies and standards, applying standard architectural patterns, taking into account critical performance characteristics and security measures.
4. Collaborate with Business Analysts, Architects and Senior Developers to establish the physical application framework (e.g. libraries, modules, execution environments).
5. Perform end to end automation of ETL process for various datasets that are being ingested into the big data platform.
Required:

1. Hadoop (Cloudera (CDH)) , HDFS, Hive, Impala, Spark, Oozie, HBase
2. SCALA 
3. SQL
4. Linux
5. JSON
6. Python, Perl
Good to Have:
7. Strong Database Design Skills
8. ETL Tools
9. NoSQL databases (Mongo, Couchbase, Cassandra)
10. Good understanding and working knowledge of Agile development
1.	Lead technical design sessions, suggest best solution options per industry standards 
2.	Document and maintain project artifacts.
2. Suggest best practices, and implementation strategies using Hadoop, Java, ETL tools.
3. Maintain comprehensive knowledge of industry standards, methodologies, processes, and best practices.
4. Other duties as assigned.",
		  "educationRequirements": "Higher Secondary, Professional Degree, Other Bachelor Degree, B.Tech/B.E, M.C.A",
		  "experienceRequirements": "5 - 11 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "Higher Secondary, Professional Degree, Other Bachelor Degree, B.Tech/B.E, M.C.A",
		     "skills": "Hadoop,HDFS,Hive,Impala,Spark,Oozie,Hbase,SCALA,SQL,Linux,JSON,Python,Perl,ETL Tool,NoSQL,MongoDB,couchbase,cassandra"
		  }
		</script>
		";i:5;N;}