Apache spark DataRicks中的Delta lake-为现有存储创建表
我目前在databricks中有一个附加表(spark 3,databricks 7.5) 它是用before创建的,我不使用Apache spark DataRicks中的Delta lake-为现有存储创建表,apache-spark,databricks,delta-lake,Apache Spark,Databricks,Delta Lake,我目前在databricks中有一个附加表(spark 3,databricks 7.5) 它是用before创建的,我不使用INSERT命令对其进行写入(如上所示) 现在我希望能够使用SQL逻辑查询它,而不必每次都通过createOrReplaceTempView。是否可以在不删除表的情况下向当前数据中添加表?我需要哪些更改来支持这一点 更新: 我试过: res=spark.sql(f“使用增量位置'/mnt/defaultDataLake/{append_TABLE_name}'创建表exp
INSERT
命令对其进行写入(如上所示)
现在我希望能够使用SQL逻辑查询它,而不必每次都通过createOrReplaceTempView。是否可以在不删除表的情况下向当前数据中添加表?我需要哪些更改来支持这一点
更新:
我试过:
res=spark.sql(f“使用增量位置'/mnt/defaultDataLake/{append_TABLE_name}'创建表exploration.oplog”)
但是有一个例外
您正在尝试创建一个外部表exploration
dataitems\u oplog
使用Databricks Delta从/mnt/defaultDataLake/specificpath here
,但在
输入路径为空
虽然路径不是空的。从Databricks Runtime 7.0开始,您可以从现有数据在Hive metastore中创建表,自动发现模式、分区等(请参阅)。基本语法如下(用实际值替换
中的值):
创建表。
使用DELTA
位置'/mnt/defaultDatalake/,位于托管表和非托管表的不同方面,这可能有助于读取
在DBR 7.5ML上,p.p.S.对我来说效果很好:
谢谢,我已经尝试过了,但失败了,你可以在上面的更新部分看到结果,对我来说很好,在DBR 7.5ML上。。。我会检查您的文件夹是否包含\u delta
目录等。
parsedDf \
.select("somefield", "anotherField",'partition', 'offset') \
.write \
.format("delta") \
.mode("append") \
.option("mergeSchema", "true") \
.save(f"/mnt/defaultDatalake/{append_table_name}")