Hi Deepujain,

I did include the jar file, I believe it is hive-exe.jar, through the
--jars option:

./bin/spark-shell --master spark://radtech.io:7077
--total-executor-cores 2 --driver-class-path
/usr/local/spark/lib/mysql-connector-java-5.1.34-bin.jar --jars
/opt/apache-hive-0.13.1-bin/lib/hive-exec-0.13.1.jar

Results in the same error.  I'm going to do the rebuild in a few minutes.

Thanks for the assistance.

-Todd



On Fri, Apr 3, 2015 at 6:30 AM, ÐΞ€ρ@Ҝ (๏̯͡๏) <deepuj...@gmail.com> wrote:

> I think you need to include the jar file through --jars option that
> contains the hive definition (code) of UDF json_tuple. That should solve
> your problem.
>
> On Fri, Apr 3, 2015 at 3:57 PM, Todd Nist <tsind...@gmail.com> wrote:
>
>> I placed it there.  It was downloaded from MySql site.
>>
>> On Fri, Apr 3, 2015 at 6:25 AM, ÐΞ€ρ@Ҝ (๏̯͡๏) <deepuj...@gmail.com>
>> wrote:
>>
>>> Akhil
>>> you mentioned /usr/local/spark/lib/mysql-connector-java-5.1.34-bin.jar
>>> . how come you got this lib into spark/lib folder.
>>> 1) did you place it there ?
>>> 2) What is download location ?
>>>
>>>
>>> On Fri, Apr 3, 2015 at 3:42 PM, Todd Nist <tsind...@gmail.com> wrote:
>>>
>>>> Started the spark shell with the one jar from hive suggested:
>>>>
>>>> ./bin/spark-shell --master spark://radtech.io:7077 --total-executor-cores 
>>>> 2 --driver-class-path 
>>>> /usr/local/spark/lib/mysql-connector-java-5.1.34-bin.jar --jars 
>>>> /opt/apache-hive-0.13.1-bin/lib/hive-exec-0.13.1.jar
>>>>
>>>> Results in the same error:
>>>>
>>>> scala> sql(     |     """SELECT path, name, value, v1.peValue, v1.peName   
>>>>   |          FROM metric_table     |            lateral view 
>>>> json_tuple(pathElements, 'name', 'value') v1     |              as peName, 
>>>> peValue     |     """)
>>>> 15/04/03 06:01:30 INFO ParseDriver: Parsing command: SELECT path, name, 
>>>> value, v1.peValue, v1.peName         FROM metric_table           lateral 
>>>> view json_tuple(pathElements, 'name', 'value') v1             as peName, 
>>>> peValue
>>>> 15/04/03 06:01:31 INFO ParseDriver: Parse Completed
>>>> res2: org.apache.spark.sql.SchemaRDD =
>>>> SchemaRDD[5] at RDD at SchemaRDD.scala:108== Query Plan ==== Physical Plan 
>>>> ==
>>>> java.lang.ClassNotFoundException: json_tuple
>>>>
>>>> I will try the rebuild.  Thanks again for the assistance.
>>>>
>>>> -Todd
>>>>
>>>>
>>>> On Fri, Apr 3, 2015 at 5:34 AM, Akhil Das <ak...@sigmoidanalytics.com>
>>>> wrote:
>>>>
>>>>> Can you try building Spark
>>>>> <https://spark.apache.org/docs/1.2.0/building-spark.html#building-with-hive-and-jdbc-support%23building-with-hive-and-jdbc-support>
>>>>> with hive support? Before that try to run the following:
>>>>>
>>>>> ./bin/spark-shell --master spark://radtech.io:7077 --total-executor-
>>>>> cores 2 --driver-class-path /usr/local/spark/lib/mysql-connector-java-
>>>>> 5.1.34-bin.jar --jars /opt/hive/0.13.1/lib/hive-exec.jar
>>>>>
>>>>> Thanks
>>>>> Best Regards
>>>>>
>>>>> On Fri, Apr 3, 2015 at 2:55 PM, Todd Nist <tsind...@gmail.com> wrote:
>>>>>
>>>>>> Hi Akhil,
>>>>>>
>>>>>> This is for version 1.2.1.  Well the other thread that you reference
>>>>>> was me attempting it in 1.3.0 to see if the issue was related to 1.2.1.  
>>>>>> I
>>>>>> did not build Spark but used the version from the Spark download site for
>>>>>> 1.2.1 Pre Built for Hadoop 2.4 or Later.
>>>>>>
>>>>>> Since I get the error in both 1.2.1 and 1.3.0,
>>>>>>
>>>>>> 15/04/01 14:41:49 INFO ParseDriver: Parse Completed Exception in
>>>>>> thread "main" java.lang.ClassNotFoundException: json_tuple at
>>>>>> java.net.URLClassLoader$1.run(
>>>>>>
>>>>>> It looks like I just don't have the jar.  Even including all jars in
>>>>>> the $HIVE/lib directory did not seem to work.  Though when looking in
>>>>>> $HIVE/lib for 0.13.1, I do not see any json serde or jackson files.  I do
>>>>>> see that hive-exec.jar contains
>>>>>> the org/apache/hadoop/hive/ql/udf/generic/GenericUDTFJSONTuple class.  Do
>>>>>> you know if there is another Jar that is required or should it work just 
>>>>>> by
>>>>>> including all jars from $HIVE/lib?
>>>>>>
>>>>>> I can build it locally, but did not think that was required based on
>>>>>> the version I downloaded; is that not the case?
>>>>>>
>>>>>> Thanks for the assistance.
>>>>>>
>>>>>> -Todd
>>>>>>
>>>>>>
>>>>>> On Fri, Apr 3, 2015 at 2:06 AM, Akhil Das <ak...@sigmoidanalytics.com
>>>>>> > wrote:
>>>>>>
>>>>>>> How did you build spark? which version of spark are you having?
>>>>>>> Doesn't this thread already explains it?
>>>>>>> https://www.mail-archive.com/user@spark.apache.org/msg25505.html
>>>>>>>
>>>>>>> Thanks
>>>>>>> Best Regards
>>>>>>>
>>>>>>> On Thu, Apr 2, 2015 at 11:10 PM, Todd Nist <tsind...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi Akhil,
>>>>>>>>
>>>>>>>> Tried your suggestion to no avail.  I actually to not see and
>>>>>>>> "jackson" or "json serde" jars in the $HIVE/lib directory.  This is 
>>>>>>>> hive
>>>>>>>> 0.13.1 and spark 1.2.1
>>>>>>>>
>>>>>>>> Here is what I did:
>>>>>>>>
>>>>>>>> I have added the lib folder to the –jars option when starting the
>>>>>>>> spark-shell,
>>>>>>>> but the job fails. The hive-site.xml is in the $SPARK_HOME/conf
>>>>>>>> directory.
>>>>>>>>
>>>>>>>> I start the spark-shell as follows:
>>>>>>>>
>>>>>>>> ./bin/spark-shell --master spark://radtech.io:7077 
>>>>>>>> --total-executor-cores 2 --driver-class-path 
>>>>>>>> /usr/local/spark/lib/mysql-connector-java-5.1.34-bin.jar
>>>>>>>>
>>>>>>>> and like this
>>>>>>>>
>>>>>>>> ./bin/spark-shell --master spark://radtech.io:7077 
>>>>>>>> --total-executor-cores 2 --driver-class-path 
>>>>>>>> /usr/local/spark/lib/mysql-connector-java-5.1.34-bin.jar --jars 
>>>>>>>> /opt/hive/0.13.1/lib/*
>>>>>>>>
>>>>>>>> I’m just doing this in the spark-shell now:
>>>>>>>>
>>>>>>>> import org.apache.spark.sql.hive._val sqlContext = new 
>>>>>>>> HiveContext(sc)import sqlContext._case class MetricTable(path: String, 
>>>>>>>> pathElements: String, name: String, value: String)val mt = new 
>>>>>>>> MetricTable("""path": "/DC1/HOST1/""",
>>>>>>>>     """pathElements": [{"node": "DataCenter","value": "DC1"},{"node": 
>>>>>>>> "host","value": "HOST1"}]""",
>>>>>>>>     """name": "Memory Usage (%)""",
>>>>>>>>     """value": 29.590943279257175""")val rdd1 = sc.makeRDD(List(mt))
>>>>>>>> rdd1.printSchema()
>>>>>>>> rdd1.registerTempTable("metric_table")
>>>>>>>> sql(
>>>>>>>>     """SELECT path, name, value, v1.peValue, v1.peName
>>>>>>>>          FROM metric_table
>>>>>>>>            lateral view json_tuple(pathElements, 'name', 'value') v1
>>>>>>>>              as peName, peValue
>>>>>>>>     """)
>>>>>>>>     .collect.foreach(println(_))
>>>>>>>>
>>>>>>>> It results in the same error:
>>>>>>>>
>>>>>>>> 15/04/02 12:33:59 INFO ParseDriver: Parsing command: SELECT path, 
>>>>>>>> name, value, v1.peValue, v1.peName         FROM metric_table           
>>>>>>>> lateral view json_tuple(pathElements, 'name', 'value') v1             
>>>>>>>> as peName, peValue
>>>>>>>> 15/04/02 12:34:00 INFO ParseDriver: Parse Completed
>>>>>>>> res2: org.apache.spark.sql.SchemaRDD =
>>>>>>>> SchemaRDD[5] at RDD at SchemaRDD.scala:108== Query Plan ==== Physical 
>>>>>>>> Plan ==
>>>>>>>> java.lang.ClassNotFoundException: json_tuple
>>>>>>>>
>>>>>>>> Any other suggestions or am I doing something else wrong here?
>>>>>>>>
>>>>>>>> -Todd
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Thu, Apr 2, 2015 at 2:00 AM, Akhil Das <
>>>>>>>> ak...@sigmoidanalytics.com> wrote:
>>>>>>>>
>>>>>>>>> Try adding all the jars in your $HIVE/lib directory. If you want
>>>>>>>>> the specific jar, you could look fr jackson or json serde in it.
>>>>>>>>>
>>>>>>>>> Thanks
>>>>>>>>> Best Regards
>>>>>>>>>
>>>>>>>>> On Thu, Apr 2, 2015 at 12:49 AM, Todd Nist <tsind...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I have a feeling I’m missing a Jar that provides the support or
>>>>>>>>>> could this may be related to
>>>>>>>>>> https://issues.apache.org/jira/browse/SPARK-5792. If it is a Jar
>>>>>>>>>> where would I find that ? I would have thought in the $HIVE/lib 
>>>>>>>>>> folder, but
>>>>>>>>>> not sure which jar contains it.
>>>>>>>>>>
>>>>>>>>>> Error:
>>>>>>>>>>
>>>>>>>>>> Create Metric Temporary Table for querying15/04/01 14:41:44 INFO 
>>>>>>>>>> HiveMetaStore: 0: Opening raw store with implemenation 
>>>>>>>>>> class:org.apache.hadoop.hive.metastore.ObjectStore15/04/01 14:41:44 
>>>>>>>>>> INFO ObjectStore: ObjectStore, initialize called15/04/01 14:41:45 
>>>>>>>>>> INFO Persistence: Property hive.metastore.integral.jdo.pushdown 
>>>>>>>>>> unknown - will be ignored15/04/01 14:41:45 INFO Persistence: 
>>>>>>>>>> Property datanucleus.cache.level2 unknown - will be ignored15/04/01 
>>>>>>>>>> 14:41:45 INFO BlockManager: Removing broadcast 015/04/01 14:41:45 
>>>>>>>>>> INFO BlockManager: Removing block broadcast_015/04/01 14:41:45 INFO 
>>>>>>>>>> MemoryStore: Block broadcast_0 of size 1272 dropped from memory 
>>>>>>>>>> (free 278018571)15/04/01 14:41:45 INFO BlockManager: Removing block 
>>>>>>>>>> broadcast_0_piece015/04/01 14:41:45 INFO MemoryStore: Block 
>>>>>>>>>> broadcast_0_piece0 of size 869 dropped from memory (free 
>>>>>>>>>> 278019440)15/04/01 14:41:45 INFO BlockManagerInfo: Removed 
>>>>>>>>>> broadcast_0_piece0 on 192.168.1.5:63230 in memory (size: 869.0 B, 
>>>>>>>>>> free: 265.1 MB)15/04/01 14:41:45 INFO BlockManagerMaster: Updated 
>>>>>>>>>> info of block broadcast_0_piece015/04/01 14:41:45 INFO 
>>>>>>>>>> BlockManagerInfo: Removed broadcast_0_piece0 on 192.168.1.5:63278 in 
>>>>>>>>>> memory (size: 869.0 B, free: 530.0 MB)15/04/01 14:41:45 INFO 
>>>>>>>>>> ContextCleaner: Cleaned broadcast 015/04/01 14:41:46 INFO 
>>>>>>>>>> ObjectStore: Setting MetaStore object pin classes with 
>>>>>>>>>> hive.metastore.cache.pinobjtypes="Table,StorageDescriptor,SerDeInfo,Partition,Database,Type,FieldSchema,Order"15/04/01
>>>>>>>>>>  14:41:46 INFO Datastore: The class 
>>>>>>>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>>>>>>>>> "embedded-only" so does not have its own datastore table.15/04/01 
>>>>>>>>>> 14:41:46 INFO Datastore: The class 
>>>>>>>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>>>>>>>>> "embedded-only" so does not have its own datastore table.15/04/01 
>>>>>>>>>> 14:41:47 INFO Datastore: The class 
>>>>>>>>>> "org.apache.hadoop.hive.metastore.model.MFieldSchema" is tagged as 
>>>>>>>>>> "embedded-only" so does not have its own datastore table.15/04/01 
>>>>>>>>>> 14:41:47 INFO Datastore: The class 
>>>>>>>>>> "org.apache.hadoop.hive.metastore.model.MOrder" is tagged as 
>>>>>>>>>> "embedded-only" so does not have its own datastore table.15/04/01 
>>>>>>>>>> 14:41:47 INFO Query: Reading in results for query 
>>>>>>>>>> "org.datanucleus.store.rdbms.query.SQLQuery@0" since the connection 
>>>>>>>>>> used is closing15/04/01 14:41:47 INFO ObjectStore: Initialized 
>>>>>>>>>> ObjectStore15/04/01 14:41:47 INFO HiveMetaStore: Added admin role in 
>>>>>>>>>> metastore15/04/01 14:41:47 INFO HiveMetaStore: Added public role in 
>>>>>>>>>> metastore15/04/01 14:41:48 INFO HiveMetaStore: No user is added in 
>>>>>>>>>> admin role, since config is empty15/04/01 14:41:48 INFO 
>>>>>>>>>> SessionState: No Tez session required at this point. 
>>>>>>>>>> hive.execution.engine=mr.15/04/01 14:41:49 INFO ParseDriver: Parsing 
>>>>>>>>>> command: SELECT path, name, value, v1.peValue, v1.peName
>>>>>>>>>>              FROM metric
>>>>>>>>>>              lateral view json_tuple(pathElements, 'name', 'value') 
>>>>>>>>>> v1
>>>>>>>>>>                as peName, peValue15/04/01 14:41:49 INFO ParseDriver: 
>>>>>>>>>> Parse CompletedException in thread "main" 
>>>>>>>>>> java.lang.ClassNotFoundException: json_tuple
>>>>>>>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
>>>>>>>>>>     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>>>>>>>>     at java.security.AccessController.doPrivileged(Native Method)
>>>>>>>>>>     at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
>>>>>>>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
>>>>>>>>>>     at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveFunctionWrapper.createFunction(Shim13.scala:141)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.function$lzycompute(hiveUdfs.scala:261)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.function(hiveUdfs.scala:261)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.outputInspector$lzycompute(hiveUdfs.scala:267)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.outputInspector(hiveUdfs.scala:267)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.outputDataTypes$lzycompute(hiveUdfs.scala:272)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.outputDataTypes(hiveUdfs.scala:272)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.hive.HiveGenericUdtf.makeOutput(hiveUdfs.scala:278)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.expressions.Generator.output(generators.scala:60)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.Generate$$anonfun$1.apply(basicOperators.scala:50)
>>>>>>>>>>      at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.Generate$$anonfun$1.apply(basicOperators.scala:50)
>>>>>>>>>>     at scala.Option.map(Option.scala:145)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.Generate.generatorOutput(basicOperators.scala:50)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.Generate.output(basicOperators.scala:60)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveChildren$1.apply(LogicalPlan.scala:118)
>>>>>>>>>>      at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.LogicalPlan$$anonfun$resolveChildren$1.apply(LogicalPlan.scala:118)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
>>>>>>>>>>      at 
>>>>>>>>>> scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:251)
>>>>>>>>>>     at scala.collection.immutable.List.foreach(List.scala:318)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:251)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.AbstractTraversable.flatMap(Traversable.scala:105)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.resolveChildren(LogicalPlan.scala:118)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$6$$anonfun$applyOrElse$1.applyOrElse(Analyzer.scala:159)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$6$$anonfun$applyOrElse$1.applyOrElse(Analyzer.scala:156)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:144)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.QueryPlan.org$apache$spark$sql$catalyst$plans$QueryPlan$$transformExpressionDown$1(QueryPlan.scala:71)
>>>>>>>>>>      at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1$$anonfun$apply$1.apply(QueryPlan.scala:85)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
>>>>>>>>>>      at 
>>>>>>>>>> scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.AbstractTraversable.map(Traversable.scala:105)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.QueryPlan$$anonfun$1.apply(QueryPlan.scala:84)
>>>>>>>>>>      at scala.collection.Iterator$$anon$11.next(Iterator.scala:328)
>>>>>>>>>>     at scala.collection.Iterator$class.foreach(Iterator.scala:727)
>>>>>>>>>>     at scala.collection.AbstractIterator.foreach(Iterator.scala:1157)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.generic.Growable$class.$plus$plus$eq(Growable.scala:48)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:103)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.mutable.ArrayBuffer.$plus$plus$eq(ArrayBuffer.scala:47)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableOnce$class.to(TraversableOnce.scala:273)
>>>>>>>>>>     at scala.collection.AbstractIterator.to(Iterator.scala:1157)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableOnce$class.toBuffer(TraversableOnce.scala:265)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.AbstractIterator.toBuffer(Iterator.scala:1157)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.TraversableOnce$class.toArray(TraversableOnce.scala:252)
>>>>>>>>>>     at scala.collection.AbstractIterator.toArray(Iterator.scala:1157)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressionsDown(QueryPlan.scala:89)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.plans.QueryPlan.transformExpressions(QueryPlan.scala:60)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$6.applyOrElse(Analyzer.scala:156)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$$anonfun$apply$6.applyOrElse(Analyzer.scala:153)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.trees.TreeNode.transformUp(TreeNode.scala:206)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$.apply(Analyzer.scala:153)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveReferences$.apply(Analyzer.scala:152)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$apply$1$$anonfun$apply$2.apply(RuleExecutor.scala:61)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$apply$1$$anonfun$apply$2.apply(RuleExecutor.scala:59)
>>>>>>>>>>     at 
>>>>>>>>>> scala.collection.LinearSeqOptimized$class.foldLeft(LinearSeqOptimized.scala:111)
>>>>>>>>>>     at scala.collection.immutable.List.foldLeft(List.scala:84)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$apply$1.apply(RuleExecutor.scala:59)
>>>>>>>>>>      at 
>>>>>>>>>> org.apache.spark.sql.catalyst.rules.RuleExecutor$$anonfun$apply$1.apply(RuleExecutor.scala:51)
>>>>>>>>>>     at scala.collection.immutable.List.foreach(List.scala:318)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.catalyst.rules.RuleExecutor.apply(RuleExecutor.scala:51)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.analyzed$lzycompute(SQLContext.scala:411)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.analyzed(SQLContext.scala:411)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.withCachedData$lzycompute(SQLContext.scala:412)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.withCachedData(SQLContext.scala:412)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.optimizedPlan$lzycompute(SQLContext.scala:413)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.optimizedPlan(SQLContext.scala:413)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.sparkPlan$lzycompute(SQLContext.scala:418)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.sparkPlan(SQLContext.scala:416)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.executedPlan$lzycompute(SQLContext.scala:422)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.sql.SQLContext$QueryExecution.executedPlan(SQLContext.scala:422)
>>>>>>>>>>     at org.apache.spark.sql.SchemaRDD.collect(SchemaRDD.scala:444)
>>>>>>>>>>     at 
>>>>>>>>>> com.opsdatastore.elasticsearch.spark.ElasticSearchReadWrite$.main(ElasticSearchReadWrite.scala:119)
>>>>>>>>>>     at 
>>>>>>>>>> com.opsdatastore.elasticsearch.spark.ElasticSearchReadWrite.main(ElasticSearchReadWrite.scala)
>>>>>>>>>>     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:483)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:358)
>>>>>>>>>>     at 
>>>>>>>>>> org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
>>>>>>>>>>     at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
>>>>>>>>>>
>>>>>>>>>> Json:
>>>>>>>>>>
>>>>>>>>>> "metric": {
>>>>>>>>>>
>>>>>>>>>>     "path": "/PA/Pittsburgh/12345 Westbrook 
>>>>>>>>>> Drive/main/theromostat-1",
>>>>>>>>>>     "pathElements": [
>>>>>>>>>>     {
>>>>>>>>>>         "node": "State",
>>>>>>>>>>         "value": "PA"
>>>>>>>>>>     },
>>>>>>>>>>     {
>>>>>>>>>>         "node": "City",
>>>>>>>>>>         "value": "Pittsburgh"
>>>>>>>>>>     },
>>>>>>>>>>     {
>>>>>>>>>>         "node": "Street",
>>>>>>>>>>         "value": "12345 Westbrook Drive"
>>>>>>>>>>     },
>>>>>>>>>>     {
>>>>>>>>>>         "node": "level",
>>>>>>>>>>         "value": "main"
>>>>>>>>>>     },
>>>>>>>>>>     {
>>>>>>>>>>         "node": "device",
>>>>>>>>>>         "value": "thermostat"
>>>>>>>>>>     }
>>>>>>>>>>     ],
>>>>>>>>>>     "name": "Current Temperature",
>>>>>>>>>>     "value": 29.590943279257175,
>>>>>>>>>>     "timestamp": "2015-03-27T14:53:46+0000"
>>>>>>>>>>   }
>>>>>>>>>>
>>>>>>>>>> Here is the code that produces the error:
>>>>>>>>>>
>>>>>>>>>> // Spark importsimport org.apache.spark.{SparkConf, 
>>>>>>>>>> SparkContext}import org.apache.spark.SparkContext._
>>>>>>>>>> import org.apache.spark.rdd.RDD
>>>>>>>>>> import org.apache.spark.sql.{SchemaRDD,SQLContext}import 
>>>>>>>>>> org.apache.spark.sql.hive._
>>>>>>>>>> // ES importsimport org.elasticsearch.spark._import 
>>>>>>>>>> org.elasticsearch.spark.sql._
>>>>>>>>>> def main(args: Array[String]) {
>>>>>>>>>>     val sc = sparkInit
>>>>>>>>>>
>>>>>>>>>>     @transient
>>>>>>>>>>     val hiveContext = new org.apache.spark.sql.hive.HiveContext(sc)
>>>>>>>>>>
>>>>>>>>>>     import hiveContext._
>>>>>>>>>>
>>>>>>>>>>     val start = System.currentTimeMillis()
>>>>>>>>>>
>>>>>>>>>>     /*
>>>>>>>>>>      * Read from ES and provide some insights with SparkSQL
>>>>>>>>>>      */
>>>>>>>>>>     val esData = 
>>>>>>>>>> sc.esRDD(s"${ElasticSearch.Index}/${ElasticSearch.Type}")
>>>>>>>>>>
>>>>>>>>>>     esData.collect.foreach(println(_))
>>>>>>>>>>
>>>>>>>>>>     val end = System.currentTimeMillis()
>>>>>>>>>>     println(s"Total time: ${end-start} ms")
>>>>>>>>>>
>>>>>>>>>>     println("Create Metric Temporary Table for querying")
>>>>>>>>>>
>>>>>>>>>>     val schemaRDD = hiveContext.sql(
>>>>>>>>>>           "CREATE TEMPORARY TABLE metric     " +
>>>>>>>>>>           "USING org.elasticsearch.spark.sql " +
>>>>>>>>>>           "OPTIONS (resource 'device/metric')" )
>>>>>>>>>>
>>>>>>>>>>     hiveContext.sql(
>>>>>>>>>>         """SELECT path, name, value, v1.peValue, v1.peName
>>>>>>>>>>              FROM metric
>>>>>>>>>>              lateral view json_tuple(pathElements, 'name', 'value') 
>>>>>>>>>> v1
>>>>>>>>>>                as peName, peValue
>>>>>>>>>>         """)
>>>>>>>>>>         .collect.foreach(println(_))
>>>>>>>>>>   }
>>>>>>>>>> }
>>>>>>>>>>
>>>>>>>>>> More than likely I’m missing a jar, but not sure what that would
>>>>>>>>>> be.
>>>>>>>>>>
>>>>>>>>>> -Todd
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Deepak
>>>
>>>
>>
>
>
> --
> Deepak
>
>

Reply via email to