带有 HIVE 的 SparkSQL
Posted
技术标签:
【中文标题】带有 HIVE 的 SparkSQL【英文标题】:SparkSQL with HIVE 【发布时间】:2015-05-02 04:11:10 【问题描述】:我正在尝试使用 SparkSQL 使用 HIVEContext,当我创建时
val hContext = new org.apache.spark.sql.hive.HiveContext(sc)
我知道 hive 不是 spark.sql 中的成员,当我查看 documentation 时,它说我应该使用 sbt/sbt -Phive assembly/assembly
但是我怎么能运行它呢?我不明白我应该用什么替换组件?
【问题讨论】:
您是下载 spark 程序集还是从源代码编译的?? 【参考方案1】:要获得 hive 支持,您必须下载源代码,然后使用 sbt
或 maven
构建它。以下是执行此操作的步骤列表:
-
从Spark Downloads 下载 Spark 源代码,确保选择“包类型”作为“源代码”。为方便起见,这里是下载Spark 1.3 source的直接链接。
下载后使用 maven
进行提取和编译,因为 maven 是推荐的构建方式:
tar xzf spark-[version].tgz
cd spark-[version]
./make-distribution.sh --skip-java-test --tgz -Dhadoop.version=2.4.0 -Pyarn -Phive -Phive-thriftserver
这将在项目根目录中创建一个 tar 球,名称为 spark-[version]-bin-2.4.0.tgz
,可以方便地传送到集群或在单台机器上提取。
【讨论】:
如何用maven编译? 我是新手,你能解释一下我在这个新项目中的哪里可以设置我的代码吗? 其实mvn
已经是源码下载的一部分(位于build/mvn
)。只需使用make_distribution.sh
,它将负责使用内置的 mvn 二进制文件。 “在这个新项目中设置我的代码”是什么意思?以上是关于带有 HIVE 的 SparkSQL的主要内容,如果未能解决你的问题,请参考以下文章
Hive:使用 select 1 插入带有列的 hive 表