a:6:{i:0;s:8873:"				<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-->
				
									<div class="h1"><h1>Job openings for offshore spark developer in chennai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.bsrics.com/">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> Job openings for offshore spark developer in chennai</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Offshore Spark Developer</div>
									<p class="mt7px fw6">Chennai</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="1037299"><input type="hidden" name="subject" value="Applied for Offshore Spark Developer">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.bsrics.com/vacancy_1037299.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Design and development of data ingestion pipelines.<br />
 ** Perform data migration and conversion activities.<br />
 ** 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 />
 ** Collaborate with Business Analysts, Architects and Senior Developers to establish the physical application framework (e.g. libraries, modules, execution environments).<br />
 ** Perform end to end automation of ETL process for various datasets that are being ingested into the big data platform.<br />
<br />
<br />
<br />
* Must have a bachelor’s degree in Computer Science or related IT discipline.<br />
 * Must have at least 8 years of IT development experience.<br />
 * Must have knowledge of 3 years of SCALA/Python – Spark programming.<br />
 * Must have relevant professional experience working with big data toolsets.<br />
 * Knowledge of standard software development methodologies such as Agile and Waterfall<br />
Strong communication skills.<br />
 * Must be willing to flex work hours accordingly to support application launches and manage production outages if necessary.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 14 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To   20 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">SCALA</span>
												<span class="bdr dib p2px10px mr5px mt2px">SQL</span>
												<span class="bdr dib p2px10px mr5px mt2px">Spark</span>
												<span class="bdr dib p2px10px mr5px mt2px">Spark streaming</span>
												<span class="bdr dib p2px10px mr5px mt2px">Big data tool</span>
												<span class="bdr dib p2px10px mr5px mt2px">Linux</span>
												<span class="bdr dib p2px10px mr5px mt2px">Python</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 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="1037299"><input type="hidden" name="subject" value="Applied for Offshore Spark 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="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
									
				</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: 'K0RIRlNtSDR5S1d5WkwrZndSVU41UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for offshore spark developer in chennai | BSRI Solutions Pvt Ltd";i:2;s:221:"Offshore Spark Developer Jobs,Offshore Spark Developer Jobs in Chennai,Offshore Spark Developer Vacancy in Chennai,Offshore Spark Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Chennai";i:3;s:339:"Apply for Offshore Spark Developer Jobs in Chennai India - Offshore Spark Developer Vacancy  in IT Software - Application Programming / Maintenance field with 8 to 14 years Work Experience, Key Skills are SCALA,SQL,Spark,Spark streaming,Big data tool,Linux,Python, IT Software - Application Programming / Maintenance jobs in Chennai  India";i:4;s:2424:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Offshore Spark Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "1037299"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9176376488",
	      "email" : "admin@bsrisolutions.com"  
	       },
		  "url": "http://www.bsrics.com/job-openings-for-offshore-spark-developer-chennai-1037299.htm",
          "datePosted": "2021-06-10",
          
		  "baseSalary": " 5  Lac  To   20 Lac ",
		  "description": "Design and development of data ingestion pipelines.
 ** Perform data migration and conversion activities.
 ** Develop and integrate software applications using suitable development methodologies and standards, applying standard architectural patterns, taking into account critical performance characteristics and security measures.
 ** Collaborate with Business Analysts, Architects and Senior Developers to establish the physical application framework (e.g. libraries, modules, execution environments).
 ** Perform end to end automation of ETL process for various datasets that are being ingested into the big data platform.



* Must have a bachelor’s degree in Computer Science or related IT discipline.
 * Must have at least 8 years of IT development experience.
 * Must have knowledge of 3 years of SCALA/Python – Spark programming.
 * Must have relevant professional experience working with big data toolsets.
 * Knowledge of standard software development methodologies such as Agile and Waterfall
Strong communication skills.
 * Must be willing to flex work hours accordingly to support application launches and manage production outages if necessary.",
		  "educationRequirements": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		  "experienceRequirements": "8 - 14 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		     "skills": "SCALA,SQL,Spark,Spark streaming,Big data tool,Linux,Python"
		  }
		</script>
		";i:5;N;}