我想知道如何自定义用户使用的表格设置
DataFrameWriter#saveAsTable
。
有什么方法可以调整存储格式(例如使用Avro或ORC), 压缩(以使用“ snappy”等)和建立表的位置 不在DataFrame中?
我正在寻找的Spark2 DataFrameWriter#saveAsTable
等效于创建具有某些自定义设置的托管 Hive表,您通常将这些自定义设置传递给Hive CREATE TABLE
命令,如下所示:>
STORED AS <format>
LOCATION <hdfs_path>
TBLPROPERTIES("orc.compress"="SNAPPY")
答案 0 :(得分:0)
兽人格式
df.write.format("orc").mode("overwrite").saveAsTable("default.spark1")
实木复合地板格式
df.write
.format("parquet")
.mode("overwrite")
.save("/home/prashant/spark-data/mental-health-in-tech-survey/parquet-data/")
答案 1 :(得分:0)
下面是用于以不同格式保存数据的代码,
还可以在保存数据时调整不同的压缩率,以下是相同的示例代码语句,
df.write
.format("com.databricks.spark.csv")
.option("header", "true")
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
.save("newcars.csv.gz")
================================================ ==============================
df.write
.format("orc")
.mode("overwrite")
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
.saveAsTable("tbl_nm")