【问题标题】:Save CSV file to hbase table using Spark and Phoenix使用 Spark 和 Phoenix 将 CSV 文件保存到 hbase 表
【发布时间】:2018-02-14 07:58:52
【问题描述】:

谁能指出一个使用 Spark 2.2 将 csv 文件保存到 Hbase 表的工作示例 我尝试过但失败的选项(注意:它们都适用于我的 Spark 1.6)

  1. 凤凰火花
  2. hbase-spark
  3. it.nerdammer.bigdata : spark-hbase-connector_2.10

在修复所有问题后,所有这些最终都会给出与此 Spark HBase 类似的错误

谢谢

【问题讨论】:

  • 这是已知问题,您使用的是什么版本的 hbase 连接器?
  • @squid 对于书呆子,我使用的是 1.0.3
  • @Karshit 您正在使用哪个发行版

标签: apache-spark hbase phoenix


【解决方案1】:

将以下参数添加到您的 Spark 作业中-

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

【讨论】:

  • 我已经在本地设置了 HBase 和 Phoenix,我按照你说的做了。在代码本身中添加了这些配置。同样,我得到了同样的错误。尽管在这两种情况下,无论有无 config: Data 都已成功加载,但它给了我错误。
  • 根据我的分析,作业在HadoopMapReduceCommitProtocol.absPathStagingDir 失败,因为输出路径为空,使用mapreduce.output.fileoutputformat.outputdir 参数正确提供。使用 SparkHaddopUtil 将 hadoop 配置填充到 hadoopConf,对我来说一切看起来都是正确的。您能否将这些参数也添加到 sparkConf 对象中-spark.hadoop.mapreduce.output.dirspark.hadoop.mapred.output.fileoutputformat.outputdir
【解决方案2】:

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

方案二:使用phoenix查询服务器提供的JDBC瘦客户端

更多信息https://phoenix.apache.org/server.html

jdbc:phoenix:thin:url=http://localhost:8765;serialization=PROTOBUF

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-01
    • 2020-09-15
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 2018-03-02
    相关资源
    最近更新 更多