有没有一种方法可以使用Spark SQL查询AWS Glue数据目录中的分区信息(类似于Athena)



我目前正在PySpark中开发一个Glue ETL脚本,该脚本需要查询我的Glue Data Catalog的分区,并以编程方式将该信息与其他Glue表连接起来。

目前,我可以使用SELECT * FROM db_name.table_name$partitions JOIN table_name2 ON ...在Athena上实现这一点,但这似乎不适用于Spark SQL。我能找到的最接近的东西是SHOW PARTIIONS db_name.table_name,它似乎并没有切断它

有人知道我可以利用Glue ETL/Boto3(Glue API(/PySpark以类似SQL的方式查询分区信息的简单方法吗?

目前,唯一可能的解决方法似乎是Boto3中的get_partitions()方法,但从我的角度来看,这似乎是一项更复杂的工作。我已经有了我的Athena查询来获取我需要的信息,所以如果有一种理想的方法可以使用SQL以类似的方式复制获取表的分区,那将是非常棒的。请告诉我,谢谢!

对于那些感兴趣的人,我已经找到了一个替代解决方案,但仍需要测试,那就是带有Boto3客户端的Athena API。我也可能使用与Athena集成的AWS牧马人来检索数据帧。

最新更新