Thanks Felix! I've been struggling to wrap my head around *which *
SQLContext.scala file is being executed in this stack.  I've set
SPARK_HOME="/usr/local/opt/apache-spark/libexec"
in my zeppelin-env.sh file, but I also see ./spark in my zeppelin install
directory.  I'd image if Zeppelin is actually using the spark libs
in /usr/local/opt/apache-spark/libexec (installed by homebrew), then it
should parse the same as /usr/local/opt/apache-spark/libexec/bin/spark-sql.

Any ideas which spark jar or installation is being executed in this stack
trace?

On Fri, Mar 11, 2016 at 1:55 PM, Felix Cheung <felixcheun...@hotmail.com>
wrote:

>
> As you can see in the stack below, it's just calling SQLContext.sql()
> org.apache.spark.sql.SQLContext.sql(SQLContext.scala:725) at
>
> It is possible this is caused by some issue with line parsing. I will try
> to take a look.
>
> _____________________________
> From: Adam Hull <a...@goodeggs.com>
> Sent: Friday, March 11, 2016 1:47 PM
> Subject: Spark-sql USING from Zeppelin?
> To: <users@zeppelin.incubator.apache.org>
>
>
> Hi! This whole ecosystem is pretty new to me.
>
> I'd like to pull JSON files from S3 via the spark-sql interpreter.  I've
> got code that's working when I run `spark-sql foo.sql` directly, but it
> fails from a  Zeppelin notebook.  Here's the code:
>
> ```
> %sql
>
> CREATE TEMPORARY TABLE data
> USING org.apache.spark.sql.json
> OPTIONS (
>   path "s3a://some-bucket/data.json.gz"
> );
>
> SELECT * FROM data;
> ```
>
> And here's the  Zeppelin error:
>
> cannot recognize input near 'data' 'USING' 'org' in table name; line 2 pos
> 0
> at org.apache.spark.sql.hive.HiveQl$.createPlan(HiveQl.scala:297) at
> org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:41)
> at
> org.apache.spark.sql.hive.ExtendedHiveQlParser$$anonfun$hiveQl$1.apply(ExtendedHiveQlParser.scala:40)
> at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136) at
> scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135) at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
> at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
> at scala.util.parsing.combinator.Parsers$Failure.append(Parsers.scala:202)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
> at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
> at
> scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
> at
> scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
> at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) at
> scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala:890) at
> scala.util.parsing.combinator.PackratParsers$$anon$1.apply(PackratParsers.scala:110)
> at
> org.apache.spark.sql.catalyst.AbstractSparkSQLParser.parse(AbstractSparkSQLParser.scala:34)
> at org.apache.spark.sql.hive.HiveQl$.parseSql(HiveQl.scala:277) at
> org.apache.spark.sql.hive.HiveQLDialect.parse(HiveContext.scala:62) at
> org.apache.spark.sql.SQLContext$$anonfun$3.apply(SQLContext.scala:175) at
> org.apache.spark.sql.SQLContext$$anonfun$3.apply(SQLContext.scala:175) at
> org.apache.spark.sql.SparkSQLParser$$anonfun$org$apache$spark$sql$SparkSQLParser$$others$1.apply(SparkSQLParser.scala:115)
> at
> org.apache.spark.sql.SparkSQLParser$$anonfun$org$apache$spark$sql$SparkSQLParser$$others$1.apply(SparkSQLParser.scala:114)
> at scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:136) at
> scala.util.parsing.combinator.Parsers$Success.map(Parsers.scala:135) at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$map$1.apply(Parsers.scala:242)
> at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1$$anonfun$apply$2.apply(Parsers.scala:254)
> at scala.util.parsing.combinator.Parsers$Failure.append(Parsers.scala:202)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
> at
> scala.util.parsing.combinator.Parsers$Parser$$anonfun$append$1.apply(Parsers.scala:254)
> at scala.util.parsing.combinator.Parsers$$anon$3.apply(Parsers.scala:222)
> at
> scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
> at
> scala.util.parsing.combinator.Parsers$$anon$2$$anonfun$apply$14.apply(Parsers.scala:891)
> at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) at
> scala.util.parsing.combinator.Parsers$$anon$2.apply(Parsers.scala:890) at
> scala.util.parsing.combinator.PackratParsers$$anon$1.apply(PackratParsers.scala:110)
> at
> org.apache.spark.sql.catalyst.AbstractSparkSQLParser.parse(AbstractSparkSQLParser.scala:34)
> at org.apache.spark.sql.SQLContext$$anonfun$2.apply(SQLContext.scala:172)
> at org.apache.spark.sql.SQLContext$$anonfun$2.apply(SQLContext.scala:172)
> at
> org.apache.spark.sql.execution.datasources.DDLParser.parse(DDLParser.scala:42)
> at org.apache.spark.sql.SQLContext.parseSql(SQLContext.scala:195) at
> org.apache.spark.sql.hive.HiveContext.parseSql(HiveContext.scala:279) at
> org.apache.spark.sql.SQLContext.sql(SQLContext.scala:725) at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:497) at 
> org.apache.zeppelin.spark.SparkSqlInterpreter.interpret(SparkSqlInterpreter.java:137)
> at 
> org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret(ClassloaderInterpreter.java:57)
> at 
> org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93)
> at 
> org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:331)
> at org.apache.zeppelin.scheduler.Job.run(Job.java:171) at org.apache.
> zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139) at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at
> java.util.concurrent.FutureTask.run(FutureTask.java:266) at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
>
> Seems to me that  Zeppelin  is using a different Spark SQL parser.  I've
> checked via the Spark UI that both `spark-sql` and  Zeppelin are using
> Spark 1.5.1, and Hadoop 2.6.0.  I'm using  Zeppelin  0.6.
>
> Any suggestions where to look next?  I see hive in that stack trace...
>
>
>

Reply via email to