Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark DataRicks中的Delta lake-为现有存储创建表_Apache Spark_Databricks_Delta Lake - Fatal编程技术网

Apache spark DataRicks中的Delta lake-为现有存储创建表

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

我目前在databricks中有一个附加表(spark 3,databricks 7.5)

它是用before创建的,我不使用
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}")