spark支持使用windows函数

rqcrx0a6  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(277)

我正在使用spark版本1.6.0..而我正在使用python的spark。我发现我正在使用的spark版本不支持windows函数,当我试图在我的查询中使用windows函数(使用sparksql)时,它给了我一个错误:“您需要使用配置单元功能构建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
nafvub8i

nafvub8i1#

我想这是我第三次回答类似的问题:
在spark中使用窗口功能。
窗口函数在pyspark sqlcontext上不起作用。
hivecontext支持windows函数,不支持常规sqlcontext。
关于如何使用hive支持构建spark,答案在官方的building spark文档中:
使用配置单元和jdbc支持构建要启用spark sql及其jdbc服务器和cli的配置单元集成,请将-phive和phive-thriftserver配置文件添加到现有构建选项中。默认情况下,spark将使用配置单元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

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

相关问题