如何从Spark作业中获取AWS Glue Data Catalog中注册的表的S3密钥(路径)



使用Spark(或PySpark(查找通过AWS Glue data Catalog存储的数据的完整路径(S3密钥(的最佳方法是什么?

例如,如果我以以下方式保存数据:

my_spark_dataframe 
.write.mode("overwrite") '
.format("parquet") 
.saveAsTable("database_name.table_name")

一种方法是获取给定表的元数据信息,然后提取Location部分:

full_s3_path = spark_session 
.sql("describe formatted database_name.table_name") 
.filter(col("col_name") == "Location") 
.select("data_type").head()[0]

这将返回:

# full_s3_path=s3://some_s3_bucket/key_to_table_name

最新更新