我正在使用 Delta Lake 框架使用 Glue 创建 ETL 作业。示例演示数据定义为:
data = {'visitor': ['foo', 'bar', 'baz'],
'id': [1, 2, 3],
'B': [1, 0, 1],
'C': [1, 0, 0]}
我使用以下代码行将其保存到增量表中:
df = pd.DataFrame(data)
dataFrame = spark.createDataFrame(df)
dataFrame.write \
.format("delta") \
.mode("overwrite") \
.option("path", "s3://example-bucket/deltalake_test/") \
.saveAsTable("example-db.deltalake_test_delta")
作业完成后,Glue Catalog 中创建了一个表,但位置错误,其中包含:
__PLACEHOLDER__
附加在所提供位置末尾的字符串。这是 Glue+data Lake 的问题还是我配置错误?由于位置错误,表在 Athena 中也无法查询。
我也遇到了同样的问题。检查 Glue Catalog 中数据库的位置。 确保它不仅仅是 s3://bucket-name。应该是 s3://bucket-name/path