栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

无法在Spark中配置ORC属性

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

无法在Spark中配置ORC属性

您在这里犯了两个不同的错误。我不怪你 我去过那儿…

问题1

orc.compress
和其余的不是Spark
DataframeWriter
选项。它们是Hive配置属性,必须
创建
hiveContext
对象 之前 定义…

  • 无论是在
    hive-site.xml
    提供给星火在启动时
  • 或在您的代码中,通过重新创建
    SparkContext

sc.getConf.get("orc.compress","<undefined>") // depends on Hadoop conf

sc.stop

val scAlt = new org.apache.spark.SparkContext((neworg.apache.spark.SparkConf).set("orc.compress","snappy"))

scAlt.getConf.get("orc.compress","<undefined>") // will now be Snappy

val hiveContextAlt = new org.apache.spark.sql.SQLContext(scAlt)

[编辑]使用Spark 2.x时,脚本将变为…

spark.sparkContext.getConf.get("orc.compress","<undefined>") // depends onHadoop conf

spark.close

val sparkAlt =org.apache.spark.sql.SparkSession.builder().config("orc.compress","snappy").getOrCreate()

sparkAlt.sparkContext.getConf.get("orc.compress","<undefined>") // will nowbe Snappy

问题#2
Spark将自己的SerDe库用于ORC(以及Parquet,JSON,CSV等),因此不必遵循标准的Hadoop / Hive属性。

Parquet有一些Spark特定的属性,并且有据可查。但是同样,必须 创建(或重新创建) 之前
设置这些属性

hiveContext

对于ORC和其他格式,您必须求助于特定于格式的

DataframeWriter
选项。引用最新的JavaDoc

您可以设置以下特定于ORC的选项来编写ORC文件:

compression
(默认值
snappy
):保存到文件时使用的压缩编解码器。这可以是公知的,不区分大小写缩短名称之一(
none
snappy
zlib
,和
lzo
)。这将覆盖
orc.compress

请注意,默认压缩编解码器已在Spark 2中更改; 在那之前

zlib

因此,您唯一可以设置的是压缩编解码器,使用

dataframe.write().format("orc").option("compression","snappy").save("wtf")


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/454472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号