Is there a reason why different Scala (it seems at least 2.10/2.11) versions 
are mixed? This never works.
Do you include by accident a dependency to with an old Scala version? Ie the 
Hbase datasource maybe?


> Am 17.02.2020 um 22:15 schrieb Mich Talebzadeh <mich.talebza...@gmail.com>:
> 
> 
> Thanks Muthu,
> 
> 
> I am using the following jar files for now in local mode i.e.  
> spark-shell_local --jars …..
> 
> json4s-jackson_2.10-3.2.10.jar
> json4s_2.11-3.2.11.jar
> json4s-native_2.10-3.4.0.jar
> 
> Which one is the incorrect one please/
> 
> Regards,
> 
> Mich
> 
> 
> 
> Disclaimer: Use it at your own risk. Any and all responsibility for any loss, 
> damage or destruction of data or any other property which may arise from 
> relying on this email's technical content is explicitly disclaimed. The 
> author will in no case be liable for any monetary damages arising from such 
> loss, damage or destruction.
>  
> 
> 
>> On Mon, 17 Feb 2020 at 20:28, Muthu Jayakumar <bablo...@gmail.com> wrote:
>> I suspect the spark job is somehow having an incorrect (newer) version of 
>> json4s in the classpath. json4s 3.5.3 is the utmost version that can be 
>> used. 
>> 
>> Thanks,
>> Muthu
>> 
>>> On Mon, Feb 17, 2020, 06:43 Mich Talebzadeh <mich.talebza...@gmail.com> 
>>> wrote:
>>> Hi,
>>> 
>>> Spark version 2.4.3
>>> Hbase 1.2.7
>>> 
>>> Data is stored in Hbase as Json. example of a row shown below
>>> <image.png>
>>> 
>>> I am trying to read this table in Spark Scala
>>> 
>>> import org.apache.spark.sql.{SQLContext, _}
>>> import org.apache.spark.sql.execution.datasources.hbase._
>>> import org.apache.spark.{SparkConf, SparkContext}
>>> import spark.sqlContext.implicits._
>>> import org.json4s._
>>> import org.json4s.jackson.JsonMethods._
>>> import org.json4s.jackson.Serialization.{read => JsonRead}
>>> import org.json4s.jackson.Serialization.{read, write}
>>> def catalog = s"""{
>>>      | "table":{"namespace":"trading", "name":"MARKETDATAHBASEBATCH",
>>>      | "rowkey":"key",
>>>      | "columns":{
>>>      | "rowkey":{"cf":"rowkey", "col":"key", "type":"string"},
>>>      |     |"ticker":{"cf":"PRICE_INFO", "col":"ticker", "type":"string"},
>>>      |     |"timeissued":{"cf":"PRICE_INFO", "col":"timeissued", 
>>> "type":"string"},
>>>      |     |"price":{"cf":"PRICE_INFO", "col":"price", "type":"string"}
>>>      |     |}
>>>      | |}""".stripMargin
>>> def withCatalog(cat: String): DataFrame = {
>>>            spark.sqlContext
>>>            .read
>>>            .options(Map(HBaseTableCatalog.tableCatalog->cat))
>>>            .format("org.apache.spark.sql.execution.datasources.hbase")
>>>            .load()
>>>         }
>>> val df = withCatalog(catalog)
>>> 
>>> 
>>> However, I am getting this error
>>> 
>>> Spark session available as 'spark'.
>>> java.lang.NoSuchMethodError: 
>>> org.json4s.jackson.JsonMethods$.parse(Lorg/json4s/JsonInput;Z)Lorg/json4s/JsonAST$JValue;
>>>   at 
>>> org.apache.spark.sql.execution.datasources.hbase.HBaseTableCatalog$.apply(HBaseTableCatalog.scala:257)
>>>   at 
>>> org.apache.spark.sql.execution.datasources.hbase.HBaseRelation.<init>(HBaseRelation.scala:80)
>>>   at 
>>> org.apache.spark.sql.execution.datasources.hbase.DefaultSource.createRelation(HBaseRelation.scala:51)
>>>   at 
>>> org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:318)
>>>   at 
>>> org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:223)
>>>   at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:211)
>>>   at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:167)
>>>   at withCatalog(testme.scala:49)
>>>   ... 65 elided
>>> 
>>> I have Googled it but with little luck!
>>> 
>>> Thanks,
>>> Mich
>>> 
>>> http://talebzadehmich.wordpress.com
>>> 
>>> Disclaimer: Use it at your own risk. Any and all responsibility for any 
>>> loss, damage or destruction of data or any other property which may arise 
>>> from relying on this email's technical content is explicitly disclaimed. 
>>> The author will in no case be liable for any monetary damages arising from 
>>> such loss, damage or destruction.
>>>  

Reply via email to