spark:dataframe.saveastable或dataframewriter.options可以传递哪些选项?

flvtvl50  于 2021-05-29  发布在  Hadoop
关注(0)|答案(6)|浏览(679)

开发人员和api文档中都没有关于可以传递哪些选项的任何参考 DataFrame.saveAsTable 或者 DataFrameWriter.options 它们会影响Hive表的保存。
我希望在对这个问题的回答中,我们可以收集一些信息,这对于那些想要更多的控制Spark如何节省表的SCAP开发人员来说是有帮助的,也许为改进SCAP的文档提供了基础。

nwlqm0z1

nwlqm0z11#

你不明白的原因 options 任何地方的文档都是特定于格式的,开发人员可以使用一组新的 options .
但是,对于少数受支持的格式,我列出了spark代码中提到的选项:
C选项
JDBC选项
J选项
镶块
文本选项
ORC选项
AVR选项

ctehm74n

ctehm74n2#

根据最新的spark文档,以下是使用.saveastable(name,format=none,mode=none,partitionby=none,**options)api将Dataframe写入外部存储器时可以传递的选项
如果单击文档右侧的源超链接,您可以遍历并找到其他不太清楚的参数的详细信息,例如dataframewriter类下描述的格式和选项
所以当文件读到 options – all other string options 它指的是给你以下选项的选项 spark 2.4.4 timezone:设置字符串,该字符串指示用于格式化json/csv数据源或分区值中的时间戳的时区。如果未设置,则使用默认值session local timezone。
当它读到 format – the format used to save 它指的是 format(source) 指定基础输出数据源。
参数
源–字符串,
数据源的名称,例如“json”、“parquet”。
希望这有帮助。

pes8fvy9

pes8fvy93#

根据源代码可以指定 path 选项(指示在hdfs中存储配置单元外部数据的位置,在配置单元ddl中转换为“location”)。不确定您是否有其他与saveastable相关的选项,但我将搜索更多选项。

70gysomp

70gysomp4#

saveastable(字符串表名)
将Dataframe的内容保存为指定的表。
仅供参考->https://spark.apache.org/docs/2.3.0/api/java/org/apache/spark/sql/dataframewriter.html

f1tvaqid

f1tvaqid5#

看一看https://github.com/delta-io/delta/blob/master/src/main/scala/org/apache/spark/sql/delta/deltaoptions.scala “deltaoptions”课程
目前,支持的选项有:
替换位置
合并架构
覆盖方案
maxfilespertrigger公司
排除正则表达式
忽略文件删除
忽略变化
忽略删除
优化写入
数据更改
查询名
检查点位置
路径
时间戳
版本

sbdsn5lh

sbdsn5lh6#

不同版本之间有区别。
我们在spark2中有以下内容:

createOrReplaceTempView()
createTempView()
createOrReplaceGlobalTempView()
createGlobalView()

saveAsTable is deprecated in spark 2.

基本上,这些是根据表格的可用性来划分的。请参考链接

相关问题