1. 程式人生 > >spark1.4 讀取hbase 0.96 報錯 java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytes

spark1.4 讀取hbase 0.96 報錯 java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytes

spark接hbase讀取資料:

    val sc = new SparkContext(sparkConf)
    val conf = HBaseConfiguration.create()

    conf.set("hbase.zookeeper.property.clientPort", "port..")
    conf.set("hbase.zookeeper.quorum", "ip..")
    conf.set(TableInputFormat.INPUT_TABLE,"table1..")

    val hBaseRDD = sc.newAPIHadoopRDD(conf, classOf[TableInputFormat],
      classOf[org.apache.hadoop.hbase.io.ImmutableBytesWritable],
      classOf[org.apache.hadoop.hbase.client.Result])

    val count = hBaseRDD.count()
    println("HBase RDD Count:" + count)
    hBaseRDD.cache()

    //遍歷輸出
    hBaseRDD.collect().foreach{ case (_,result) =>
      val key = Bytes.toInt(result.getRow)
      val name = Bytes.toString(result.getValue("pd".getBytes,"name".getBytes))
      val age = Bytes.toInt(result.getValue("pd".getBytes,"age".getBytes))
      println("Row key:" + key + " name:" + name +" age:" + age)
    }
    
    sc.stop()
在叢集中spark-submit報錯如下:

在網上看到有關繼承spark自帶的序列化工具,就想到可能沒有設定序列化的類,還是用的java的

於是到conf/目錄下檢視spark-defaults.conf檔案,果然沒有用到,修改如下:


更改後重新啟動spark可以取到hbase的資料。

相關推薦

spark1.4 讀取hbase 0.96 java.io.NotSerializableException: org.apache.hadoop.hbase.io.ImmutableBytes

spark接hbase讀取資料: val sc = new SparkContext(sparkConf) val conf = HBaseConfiguration.create()

在myeclilpse7.5中啟動tomcat7.0.6java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解決方案

我今天在啟動在myeclipse中啟動tomcat7.0.6時,報錯: java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory at org.apache.catalina.startup.Bo

hadoop java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Lja

2018-04-11 16:32:28,514 INFO [org.apache.hadoop.mapreduce.JobSubmitter] - Submitting tokens for job: job_local1975654255_0001 2018-04-11 16:32:28,5

hive啟動 java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf

bin/hive Exception in thread “main” java.lang.NoClassDefFoundError: org/apache/hadoop/hive/conf/HiveConf 這裡分享一種可能 到hadoop的etc/hadoo

hadoop寫MR程式java.lang.AbstractMethodError: org.apache.hadoop.yarn.api.records.LocalResource.setShou

情況:在本地書寫mapreduce的時候,執行driver類 開始跑任務的時候,有時候可能會報 java.lang.AbstractMethodError: org.apache.hadoop.yarn.api.records.LocalResource.setShouldBeUploadedT

使用Phoenix api操作hbase java.lang.ClassNotFoundException: org.apache.phoenix.jdbc.PhoenixDriver

缺少 驅動,如果是maven專案的話,在pom檔案新增對應版本的依賴即可 <dependency> <groupId>org.apach

Spring boot 2.0 配置java.lang.NoClassDefFoundError: org/springframework/boot/bind/RelaxedPropertyRes

 springboot2.0使用的druid版本過低 org.springframework.boot.bind 包已經刪掉了,導致RelaxedPropertyResolver這個方法已經不可用了. API中寫到,不再可用了,因為環境會自動處理,去找到這個配置檔案 改為

pagehelper呼叫mybatisjava.lang.NoSuchMethodError:org.apache.ibatis.reflection.MetaObject.forObject

最近在升新的基礎框架到spring cloud,啟動時pagehelper報錯,如下: java.lang.NoSuchMethodError:org.apache.ibatis.reflection.MetaObject.forObject(Ljava/lang/Object;Lorg/apache/ib

啟動hiveUnable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStor

啟動tomcat:java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory的解決

今天重新配置myeclipse8.5的tomcat時,啟動tomcat後報錯,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory 報這個錯說明你用的是tomcat7。 目前的MyEclip

Tomcat無法啟動,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

 參考資料:Tomcat無法啟動,報錯java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactoryhttp://archive.cnblogs.com/a/1941374/說明:在Tomcat7

DRP問題集結(一)-Tomcat無法啟動,java.lang.NoClassDefFoundError: org/apache/juli/logging/LogFactory

       最近一直在做DRP,也是我進入Java學習第一次以專案來實踐,遇到過很多問題,但總的來說與.net對照來看,它其他和C#非常相似,從開始java開始,對於語言的膽怯沒有了,真

:java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeException

報錯資訊: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/exception/NestableRuntimeException     at java

Tomcat啟動 java.lang.ClassNotFoundException: org.apache.jsp.index_jsp

這個問題是因為tomcat在啟動過程中jsp和servlet的jar包出了問題。 1. 如果你是用的maven,呢麼你就看看有沒有Jsp,Servlet,Jstl的包,沒有新增上,有的話重新add一下

jmeterjava.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfiguration.setFormatter

安裝效能監控外掛(jmeter-plugins)後報如下錯誤,由於jmeter版本過高3.3,jmeter3.1可以成功 java.lang.NoSuchMethodError: org.apache.jmeter.samplers.SampleSaveConfigurat

tomcat6——java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource

整個系統都沒有錯誤,但是在釋出執行後,控制檯上卻丟擲了這樣的異常: java.lang.ClassNotFoundException: org.apache.commons.dbcp.BasicDataSource 很顯然這是一個沒有找到對應的類檔案的異常。 如是我在我引入的

HBase】Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/filter/Fil

【問題描述】 在使用bulkload方式向HBase匯入資料的時候遇到了如下的錯誤: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/filter/Filter at

Flume "java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Put.setWriteToWAL"

之前我們的架構方式採用的是spark+hbase+oozie解析儲存及呼叫演算法模式,最近突然出現一個需求,會有很多小檔案上傳,而且要求達到偽實時處理,也就是秒級別,spark很顯然不適合解析了,哪怕是幾十行的檔案, spark也基本是分鐘級別。 我想過2個方案來處理,一個是使用純JAVA來解

HBase出現java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration問題

問題:Hbase在叢集上執行報錯:NoClassDefFoundError:org/apache/hadoop/hbase/HBaseConfiguration 需求:HBase使用Java建立表,打包成jar,提交到叢集上行執行! 在IDEA中使用Mave

HBase MapReduce 解決java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/...

在使用MapReduce 和HBase結合時候,在執行程式的時候,會出現 java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/xxx錯誤,原