Spark 支持使用 Windows 功能

Posted

技术标签:

【中文标题】Spark 支持使用 Windows 功能【英文标题】:Spark support for using Windows function 【发布时间】:2016-04-04 07:50:24 【问题描述】:

我使用的是 spark 版本 1.6.0..而我使用的是带有 python 的 spark。我发现我正在使用的 spark 版本不支持 windows 功能,就像我尝试在我的查询(使用 sparksql)它给了我一个错误,因为“你需要使用 hive 功能构建 spark”。之后我搜索了各种东西,发现我需要使用 spark 版本 1.4.0。我没有运气。一些帖子还建议使用 hive 功能构建 spark。但我没有找到正确的方法。 使用 spark 1.4.0 时出现以下错误。

raise ValueError("invalid mode %r (only r, w, b allowed)")
ValueError: invalid mode %r (only r, w, b allowed)
16/04/04 14:17:17 WARN PythonRDD: Incomplete task interrupted: Attempting to kil
l Python Worker
16/04/04 14:17:17 INFO HadoopRDD: Input split: file:/C:/Users/test
esktop/spark-1.4.0-bin-hadoop2.4/test:910178+910178
16/04/04 14:17:17 INFO Executor: Executor killed task 1.0 in stage 1.0 (TID 2)
16/04/04 14:17:17 WARN TaskSetManager: Lost task 1.0 in stage 1.0 (TID 2, localh
ost): TaskKilled (killed intentionally)
16/04/04 14:17:17 INFO TaskSchedulerImpl: Removed TaskSet 1.0, whose tasks have
all completed, from pool

【问题讨论】:

你能发布你得到的错误的堆栈跟踪吗? 【参考方案1】:

我想这是我第三次回答类似问题了:

Using windowing functions in Spark。 Window function is not working on Pyspark sqlcontext。

HiveContext 支持 Windows 函数,而不是常规 SQLContext。

关于如何用hive支持构建spark,答案在官方Building Spark documentation:

使用 Hive 和 JDBC 支持构建 要启用 Spark SQL 及其 JDBC 服务器和 CLI 的 Hive 集成,请将 -Phive 和 Phive-thriftserver 配置文件添加到现有构建选项中。默认情况下,Spark 将使用 Hive 0.13.1 绑定进行构建。

支持 Hive 13 的 Apache Hadoop 2.4.X(示例):

mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver -DskipTests clean package

为 Scala 2.11 构建

要生成使用 Scala 2.11 编译的 Spark 包,请使用 -Dscala-2.11 属性:

./dev/change-scala-version.sh 2.11
mvn -Pyarn -Phadoop-2.4 -Dscala-2.11 -DskipTests clean package

这里有魔法,一切都在文档中。

【讨论】:

刚刚在上面的构建脚本中的 'clean' 之后添加了 'install' : mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -Phive-thriftserver -DskipTests clean install package 和火花是在一个半小时内产生的。 该软件包的构建时间很长,但安装选项不会安装 spark。它会将创建的 jar 复制到您的 .m2 存储库中。

以上是关于Spark 支持使用 Windows 功能的主要内容,如果未能解决你的问题,请参考以下文章

Linux部署KMS激活Windows 10和Office 2016

wind10优化

简单介绍Wind 8系统几大功能

使用Topshelf创建Windows服务

详谈Wind8系统改为Wind7操作步骤

Spark 是不是支持插入覆盖静态分区?