Databricks中使用writeStream写入表的DBFS默认存储位置是什么?
Spark Structured Streaming写入表的DBFS默认存储位置
当使用writeStream.table()方法写入表时,DBFS上的默认存储位置遵循以下规则:
- 默认数据库场景:如果未指定所属数据库,表会归入
default默认库,存储路径为dbfs:/user/hive/warehouse/<table_name>。以你的示例来说,silver表的默认路径就是dbfs:/user/hive/warehouse/silver。 - 自定义数据库场景:若表属于某个自定义数据库,路径会变为
dbfs:/user/hive/warehouse/<database_name>.db/<table_name>。 - 自定义仓库路径:如果修改过Spark配置参数
spark.sql.warehouse.dir,所有未指定存储路径的表都会以该参数定义的DBFS路径作为根目录。
注:你的示例代码仅指定了流处理的检查点位置,未配置表的存储路径,因此会完全遵循上述默认规则。
中文注释版示例代码
# 从TEMP_SILVER表读取数据,通过流方式写入silver表 spark.table("TEMP_SILVER").writeStream .option("checkpointLocation", "dbfs:/user/AAA@gmail.com") # 设置流处理的检查点目录,用于故障恢复 .trigger(availableNow=True) # 触发一次性全量处理,完成后自动停止流 .table("silver") # 写入名为silver的表,存储位置采用默认规则
内容的提问来源于stack exchange,提问作者Mohammad
相关产品推荐
相关产品推荐

