根据Databricks的article,可以将delta lake与AWS Glue集成。但是,我不确定是否也可以在Databricks平台之外进行此操作。有人做过吗?另外,是否可以使用Glue搜寻器添加与Delta Lake相关的元数据?
答案 0 :(得分:1)
这是不可能的。尽管您可以在Databrics平台之外对S3 delta文件进行爬网,但是在表中找不到数据。
根据doc,其内容如下:
警告
请勿在该位置使用AWS Glue爬网程序在AWS Glue中定义表。 Delta Lake会维护与表的多个版本相对应的文件,并且查询由Glue爬网的所有文件都会生成错误的结果。
答案 1 :(得分:0)
最好说出“将三角洲湖泊与AWS Glue集成”,以澄清您的意思。.
目前,尚无直接支持Delta Lake的Glue API,但是,您可以使用delta lake库编写自定义代码,以将输出另存为Delta Lake。
要使用Crawler将Delta湖泊的元数据添加到Catalog,这是一种解决方法。解决方法不是很漂亮,它有两个主要部分。
1)获取三角洲湖参考文件的清单。您可以参考Delta Lake源代码,或使用_delta_log中的日志,或使用残酷的方法,例如
import org.apache.spark.sql.functions.input_file_name
spark.read.format("delta")
.load(<path-to-delta-lake>)
.select(input_file_name)
.distinct
2)使用Scala或Python Glue API和清单在目录中创建或更新表。