Try to debug your code in IDE. You should look at your array s since it complains about array index.
Thanks, Wd > On Nov 16, 2016, at 10:44 PM, Muhammad Rezaul Karim <reza_cse...@yahoo.com> > wrote: > > Hi All, > > I have the following Scala code (taken from > https://zeppelin.apache.org/docs/0.6.2/quickstart/tutorial.html#data-retrieval) > that deals with the sample Bank-details data: > > -----------------------------------------------------------*-------------------------------------------------------------------- > val bankText = > sc.textFile("/home/asif/zeppelin-0.6.2-bin-all/bin/bank-full.csv") > case class Bank(age:Integer, job:String, marital:String, education:String, > balance:Integer) > > // split each line, filter out header (starts with "age"), and map it into > Bank case class > val bank = bankText.map(s=>s.split(";")).filter(s=>s(0)!="\"age\"").map( > s=>Bank(s(0), > s(1).replaceAll("\"", ""), > s(2).replaceAll("\"", ""), > s(3).replaceAll("\"", ""), > s(5).replaceAll("\"", "") > ) > ) > // convert to DataFrame and create temporal table > bank.toDF().registerTempTable("bank") > -----------------------------------------------------------*-------------------------------------------------------------------- > The above code segment runs successfully. However, when I am trying to > execute the following line of code: bank.collect(), I am getting the > following error: > > org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in > stage 6.0 failed 1 times, most recent failure: Lost task 1.0 in stage 6.0 > (TID 7, localhost): java.lang.ArrayIndexOutOfBoundsException: 2 > at $anonfun$3.apply(<console>:91) > at $anonfun$3.apply(<console>:89) > > Moreover, I cannot execute the below SQL queries, but getting the same error > message (i.e., ArrayIndexOutOfBoundsException: 2 ): > > 1. %sql select age, count(1) from bank where age < 30 group by age order > by age > 2. %sql select age, count(1) from bank where age < ${maxAge=30} group by age > order by age > 3. %sql select age, count(1) from bank where > marital="${marital=single,single|divorced|married}" group by age order by age > > Note: However, when I am executing the following SQL statements I am not > getting any error: > > 1. %sql select age from bank > 2. %sql select * from bank > > I don't understand what's wrong I am doing here! Please help me, someone, to > get rid of it. > > > Thanks and Regards, > --------------------------------- > Md. Rezaul Karim > PhD Researcher, Insight Centre for Data Analytics > National University of Ireland Galway > E-mail: rezaul.ka...@insight-centre.org > Web: www.insight-centre.org > Phone: +353892311519