Дамп данных в таблицу HBase из кадра данных Spark - PullRequest
0 голосов
/ 31 марта 2020

Я хочу выгрузить данные в таблицу HBase из фрейма данных, используя код Spark scala. Я попытался использовать HBaseTableCatalog.

Добавлены следующие зависимости:

shc -core-1.1.0.3.1.5.6-1.jar

hbase библиотеки ( HBase-client.jar, HBase-common.jar, HBase-protocol.jar, HBase-server.jar, HBase-spark.jar, HBase-shaeded * .jar, htrace-жильный, HBase-mapreduce.jar, был oop -mapreduce-client-core- {version} .jar)

Ниже приведен код:

case class HBaseRecord(col0: String, col1: String, col2: String)
val catalog = s"""{
"table":{"namespace":"default", "name":"shcExampleTable", "tableCoder":"PrimitiveType"},
"rowkey":"key",
"columns":{
"col0":{"cf":"rowkey", "col":"key", "type":"string"},
"col1":{"cf":"cf1", "col":"col1", "type":"string"},
"col2":{"cf":"cf2", "col":"col2", "type":"string"}
}
}""".stripMargin
val AFINN = sc.textFile("hdfs://sandbox-hdp.hortonworks.com:8020/Input/AFINN1.txt").map(x=> x.split("\t")).map(x => HBaseRecord(x(0).toString,x(1).toString,x(2).toString))
val AFINNDF = AFINN.toDF("col0","col1","col2")
AFINNDF.createOrReplaceTempView("rating")
val DF = AFINNDF.select($"col0",$"col1",$"col2")
DF.write.options(Map(HBaseTableCatalog.tableCatalog -> catalog, HBaseTableCatalog.newTable -> "4")).format("org.apache.spark.sql.execution.datasources.hbase").save()

Выдает ошибку ниже:

java .lang .NoClassDefFoundError: org / apache / hadoop / hbase / mapreduce / TableOutputFormat
at org. apache .spark. sql .execution.datasources.hbase.HBaseRelation.insert (HBaseRelation. scala: 230)
at org. apache .spark. sql .execution.datasources.hbase.DefaultSource.createRelation (HBaseRelation. scala: 65)

Я уже добавил, что oop -mapreduce * .jar уже добавлен по-прежнему это ошибка. Какая библиотека нужна для TableOutputFormat?

Спасибо,

...