我在存储在 S3 上的 AWS Glue Catalog 上注册了
orders
delta Lake 表。
val spark = SparkSession.builder()
.appName("GlueDeltaLakeExample")
.master("local")
.config("spark.sql.catalogImplementation", "hive")
.config("spark.hadoop.hive.metastore.client.factory.class", "com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory")
.config("spark.sql.extensions", "io.delta.sql.DeltaSparkSessionExtension")
.config("spark.sql.catalog.glue", "org.apache.spark.sql.delta.catalog.DeltaCatalog")
.enableHiveSupport()
.getOrCreate()
val df = spark.sql("SELECT * FROM example.orders limit 10")
df.show()
spark.stop()
我配置了以下环境变量
AWS_ACCESS_KEY_ID=xxxx;
AWS_DEFAULT_REGION=eu-west-3;
AWS_SECRET_ACCESS_KEY=xxx;
我尝试在本地计算机中运行此代码,但它没有连接到 AWS Glue,而是创建本地元存储并显示表不存在的错误。
我在您的示例代码中看不到您在增量表中加载的位置。假设不是故意省略的话,先尝试本地加载
spark.read.format("delta").load("s3a://<your-s3-bucket>/<path-to-delta-table>")