Hi Sarath,

Have you tried the current branch 1.0? If not, can you give it a try and
see if the problem can be resolved?

Thanks,

Yin


On Thu, Jul 24, 2014 at 11:17 AM, Yin Huai <yh...@databricks.com> wrote:

> Hi Sarath,
>
> I will try to reproduce the problem.
>
> Thanks,
>
> Yin
>
>
> On Wed, Jul 23, 2014 at 11:32 PM, Sarath Chandra <
> sarathchandra.jos...@algofusiontech.com> wrote:
>
>> Hi Michael,
>>
>> Sorry for the delayed response.
>>
>> I'm using Spark 1.0.1 (pre-built version for hadoop 1). I'm running spark
>> programs on a standalone spark cluster using 2 nodes. One node works as
>> both master and worker while other node is just a worker.
>>
>> I quite didn't get when you asked for "jstack of the driver and
>> executor". So I'm attaching the log files generated in $SPARK_HOME/logs and
>> stdout and stderr files for this job in $SPARK_HOME/work folder from both
>> the nodes.
>>
>> Also attaching the program which I executed. If I uncomment the lines 36
>> & 37 the program works fine, otherwise it just keeps running forever.
>>
>> ~Sarath.
>>
>>
>> On Thu, Jul 17, 2014 at 9:35 PM, Michael Armbrust <mich...@databricks.com
>> > wrote:
>>
>>> What version are you running?  Could you provide a jstack of the driver
>>> and executor when it is hanging?
>>>
>>>
>>> On Thu, Jul 17, 2014 at 10:55 AM, Sarath Chandra <
>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>
>>>> Added below 2 lines just before the sql query line -
>>>> *...*
>>>> *file1_schema.count;*
>>>> *file2_schema.count;*
>>>> *...*
>>>> and it started working. But I couldn't get the reason.
>>>>
>>>> Can someone please explain me? What was happening earlier and what is
>>>> happening with addition of these 2 lines?
>>>>
>>>> ~Sarath
>>>>
>>>>
>>>> On Thu, Jul 17, 2014 at 1:13 PM, Sarath Chandra <
>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>
>>>>> No Sonal, I'm not doing any explicit call to stop context.
>>>>>
>>>>> If you see my previous post to Michael, the commented portion of the
>>>>> code is my requirement. When I run this over standalone spark cluster, the
>>>>> execution keeps running with no output or error. After waiting for several
>>>>> minutes I'm killing it by pressing Ctrl+C in the terminal.
>>>>>
>>>>> But the same code runs perfectly when executed from spark shell.
>>>>>
>>>>> ~Sarath
>>>>>
>>>>>
>>>>> On Thu, Jul 17, 2014 at 1:05 PM, Sonal Goyal <sonalgoy...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Hi Sarath,
>>>>>>
>>>>>> Are you explicitly stopping the context?
>>>>>>
>>>>>> sc.stop()
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Best Regards,
>>>>>> Sonal
>>>>>> Nube Technologies <http://www.nubetech.co>
>>>>>>
>>>>>> <http://in.linkedin.com/in/sonalgoyal>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> On Thu, Jul 17, 2014 at 12:51 PM, Sarath Chandra <
>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>
>>>>>>> Hi Michael, Soumya,
>>>>>>>
>>>>>>> Can you please check and let me know what is the issue? what am I
>>>>>>> missing?
>>>>>>> Let me know if you need any logs to analyze.
>>>>>>>
>>>>>>> ~Sarath
>>>>>>>
>>>>>>>
>>>>>>> On Wed, Jul 16, 2014 at 8:24 PM, Sarath Chandra <
>>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>>
>>>>>>>> Hi Michael,
>>>>>>>>
>>>>>>>> Tried it. It's correctly printing the line counts of both the
>>>>>>>> files. Here's what I tried -
>>>>>>>>
>>>>>>>> *Code:*
>>>>>>>> *package test*
>>>>>>>> *object Test4 {*
>>>>>>>> *  case class Test(fld1: String, *
>>>>>>>> *   fld2: String, *
>>>>>>>> *   fld3: String, *
>>>>>>>> *   fld4: String, *
>>>>>>>> *   fld5: String, *
>>>>>>>> *   fld6: Double, *
>>>>>>>> *   fld7: String);*
>>>>>>>> *  def main(args: Array[String]) {*
>>>>>>>> *    val conf = new SparkConf()*
>>>>>>>> *    .setMaster(args(0))*
>>>>>>>> * .setAppName("SQLTest")*
>>>>>>>> * .setSparkHome(args(1))*
>>>>>>>> * .set("spark.executor.memory", "2g");*
>>>>>>>> *    val sc = new SparkContext(conf);*
>>>>>>>> *    sc.addJar("test1-0.1.jar");*
>>>>>>>> *    val file1 = sc.textFile(args(2));*
>>>>>>>> *    println(file1.count());*
>>>>>>>> *    val file2 = sc.textFile(args(3));*
>>>>>>>> *    println(file2.count());*
>>>>>>>> *//    val sq = new SQLContext(sc);*
>>>>>>>> *//    import sq._*
>>>>>>>> *//    val file1_recs: RDD[Test] = file1.map(_.split(",")).map(l =>
>>>>>>>> Test(l(0), l(1), l(2), l(3), l(4), l(5).toDouble, l(6)));*
>>>>>>>> *//    val file2_recs: RDD[Test] = file2.map(_.split(",")).map(s =>
>>>>>>>> Test(s(0), s(1), s(2), s(3), s(4), s(5).toDouble, s(6)));*
>>>>>>>> *//    val file1_schema = sq.createSchemaRDD(file1_recs);*
>>>>>>>> *//    val file2_schema = sq.createSchemaRDD(file2_recs);*
>>>>>>>> *//    file1_schema.registerAsTable("file1_tab");*
>>>>>>>> *//    file2_schema.registerAsTable("file2_tab");*
>>>>>>>> *//    val matched = sq.sql("select * from file1_tab l join
>>>>>>>> file2_tab s on " + *
>>>>>>>> *//     "l.fld7=s.fld7 where l.fld2=s.fld2 and " + *
>>>>>>>> *//     "l.fld3=s.fld3 and l.fld4=s.fld4 and " + *
>>>>>>>> *//     "l.fld6=s.fld6");*
>>>>>>>> *//    matched.collect().foreach(println);*
>>>>>>>> *  }*
>>>>>>>> *}*
>>>>>>>>
>>>>>>>> *Execution:*
>>>>>>>> *export
>>>>>>>> CLASSPATH=$HADOOP_PREFIX/conf:$SPARK_HOME/lib/*:test1-0.1.jar*
>>>>>>>> *export CONFIG_OPTS="-Dspark.jars=test1-0.1.jar"*
>>>>>>>> *java -cp $CLASSPATH $CONFIG_OPTS test.Test4 spark://master:7077
>>>>>>>> "/usr/local/spark-1.0.1-bin-hadoop1"
>>>>>>>> hdfs://master:54310/user/hduser/file1.csv
>>>>>>>> hdfs://master:54310/user/hduser/file2.csv*
>>>>>>>>
>>>>>>>> ~Sarath
>>>>>>>>
>>>>>>>> On Wed, Jul 16, 2014 at 8:14 PM, Michael Armbrust <
>>>>>>>> mich...@databricks.com> wrote:
>>>>>>>>
>>>>>>>>> What if you just run something like:
>>>>>>>>> *sc.textFile("hdfs://localhost:54310/user/hduser/file1.csv").count()*
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Wed, Jul 16, 2014 at 10:37 AM, Sarath Chandra <
>>>>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>>>>
>>>>>>>>>> Yes Soumya, I did it.
>>>>>>>>>>
>>>>>>>>>> First I tried with the example available in the documentation
>>>>>>>>>> (example using people table and finding teenagers). After 
>>>>>>>>>> successfully
>>>>>>>>>> running it, I moved on to this one which is starting point to a 
>>>>>>>>>> bigger
>>>>>>>>>> requirement for which I'm evaluating Spark SQL.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On Wed, Jul 16, 2014 at 7:59 PM, Soumya Simanta <
>>>>>>>>>> soumya.sima...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Can you try submitting a very simple job to the cluster.
>>>>>>>>>>>
>>>>>>>>>>> On Jul 16, 2014, at 10:25 AM, Sarath Chandra <
>>>>>>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>> Yes it is appearing on the Spark UI, and remains there with
>>>>>>>>>>> state as "RUNNING" till I press Ctrl+C in the terminal to kill the
>>>>>>>>>>> execution.
>>>>>>>>>>>
>>>>>>>>>>> Barring the statements to create the spark context, if I copy
>>>>>>>>>>> paste the lines of my code in spark shell, runs perfectly giving the
>>>>>>>>>>> desired output.
>>>>>>>>>>>
>>>>>>>>>>> ~Sarath
>>>>>>>>>>>
>>>>>>>>>>> On Wed, Jul 16, 2014 at 7:48 PM, Soumya Simanta <
>>>>>>>>>>> soumya.sima...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> When you submit your job, it should appear on the Spark UI.
>>>>>>>>>>>> Same with the REPL. Make sure you job is submitted to the cluster 
>>>>>>>>>>>> properly.
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Wed, Jul 16, 2014 at 10:08 AM, Sarath Chandra <
>>>>>>>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Soumya,
>>>>>>>>>>>>>
>>>>>>>>>>>>> Data is very small, 500+ lines in each file.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Removed last 2 lines and placed this at the end
>>>>>>>>>>>>> "matched.collect().foreach(println);". Still no luck. It's been 
>>>>>>>>>>>>> more than
>>>>>>>>>>>>> 5min, the execution is still running.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Checked logs, nothing in stdout. In stderr I don't see
>>>>>>>>>>>>> anything going wrong, all are info messages.
>>>>>>>>>>>>>
>>>>>>>>>>>>> What else do I need check?
>>>>>>>>>>>>>
>>>>>>>>>>>>> ~Sarath
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Wed, Jul 16, 2014 at 7:23 PM, Soumya Simanta <
>>>>>>>>>>>>> soumya.sima...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Check your executor logs for the output or if your data is
>>>>>>>>>>>>>> not big collect it in the driver and print it.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Jul 16, 2014, at 9:21 AM, Sarath Chandra <
>>>>>>>>>>>>>> sarathchandra.jos...@algofusiontech.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I'm trying to do a simple record matching between 2 files and
>>>>>>>>>>>>>> wrote following code -
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *import org.apache.spark.sql.SQLContext;*
>>>>>>>>>>>>>> *import org.apache.spark.rdd.RDD*
>>>>>>>>>>>>>> *object SqlTest {*
>>>>>>>>>>>>>> *  case class Test(fld1:String, fld2:String, fld3:String,
>>>>>>>>>>>>>> fld4:String, fld4:String, fld5:Double, fld6:String);*
>>>>>>>>>>>>>> *  sc.addJar("test1-0.1.jar");*
>>>>>>>>>>>>>> *  val file1 =
>>>>>>>>>>>>>> sc.textFile("hdfs://localhost:54310/user/hduser/file1.csv");*
>>>>>>>>>>>>>> *  val file2 =
>>>>>>>>>>>>>> sc.textFile("hdfs://localhost:54310/user/hduser/file2.csv");*
>>>>>>>>>>>>>> *  val sq = new SQLContext(sc);*
>>>>>>>>>>>>>> *  val file1_recs: RDD[Test] = file1.map(_.split(",")).map(l
>>>>>>>>>>>>>> => Test(l(0), l(1), l(2), l(3), l(4), l(5).toDouble, l(6)));*
>>>>>>>>>>>>>> *  val file2_recs: RDD[Test] = file2.map(_.split(",")).map(s
>>>>>>>>>>>>>> => Test(s(0), s(1), s(2), s(3), s(4), s(5).toDouble, s(6)));*
>>>>>>>>>>>>>> *  val file1_schema = sq.createSchemaRDD(file1_recs);*
>>>>>>>>>>>>>> *  val file2_schema = sq.createSchemaRDD(file2_recs);*
>>>>>>>>>>>>>> *  file1_schema.registerAsTable("file1_tab");*
>>>>>>>>>>>>>> *  file2_schema.registerAsTable("file2_tab");*
>>>>>>>>>>>>>> *  val matched = sq.sql("select * from file1_tab l join
>>>>>>>>>>>>>> file2_tab s on l.fld6=s.fld6 where l.fld3=s.fld3 and 
>>>>>>>>>>>>>> l.fld4=s.fld4 and
>>>>>>>>>>>>>> l.fld5=s.fld5 and l.fld2=s.fld2");*
>>>>>>>>>>>>>> *  val count = matched.count();*
>>>>>>>>>>>>>> *  System.out.println("Found " + matched.count() + " matching
>>>>>>>>>>>>>> records");*
>>>>>>>>>>>>>> *}*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> When I run this program on a standalone spark cluster, it
>>>>>>>>>>>>>> keeps running for long with no output or error. After waiting 
>>>>>>>>>>>>>> for few mins
>>>>>>>>>>>>>> I'm forcibly killing it.
>>>>>>>>>>>>>> But the same program is working well when executed from a
>>>>>>>>>>>>>> spark shell.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> What is going wrong? What am I missing?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> ~Sarath
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to