使用Spark和Phoenix将CSV文件保存到hbase表

时间:2017-09-28 20:40:04

标签: apache-spark hbase phoenix

有人能指出我使用Spark 2.2 将csv文件保存到Hbase表的工作示例 我尝试过但失败的选项(注意:所有这些选项都适用于Spark 1.6)

  1. 凤火花
  2. HBase的火花
  3. it.nerdammer.bigdata:spark-hbase-connector_2.10
  4. 在修复所有内容之后,所有这些都给出了Spark HBase

    的类似错误

    由于

2 个答案:

答案 0 :(得分:3)

将以下参数添加到您的火花作业 -

spark-submit \
--conf "spark.yarn.stagingDir=/somelocation" \
--conf "spark.hadoop.mapreduce.output.fileoutputformat.outputdir=/s‌​omelocation" \
--conf "spark.hadoop.mapred.output.dir=/somelocation"

答案 1 :(得分:0)

Phoexin有插件和jdbc瘦客户端,可以连接(读/写)到HBASE,例如在https://phoenix.apache.org/phoenix_spark.html

选项1:通过zookeeper url连接 - phoenix插件

            import org.apache.spark.SparkContext
            import org.apache.spark.sql.SQLContext
            import org.apache.phoenix.spark._

            val sc = new SparkContext("local", "phoenix-test")
            val sqlContext = new SQLContext(sc)

            val df = sqlContext.load(
              "org.apache.phoenix.spark",
              Map("table" -> "TABLE1", "zkUrl" -> "phoenix-server:2181")
            )

            df
              .filter(df("COL1") === "test_row_1" && df("ID") === 1L)
              .select(df("ID"))
              .show

选项2:使用由phoenix查询服务器提供的JDBC瘦客户端

https://phoenix.apache.org/server.html

的更多信息
jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF