在 EMR 上使用 PySpark 连接来自不同 Glue 目录的表
Join tables from different Glue catalogs with PySpark on EMR
要从 EMR 上的 PySpark 查询 Glue 目录,我在集群配置中设置了参数 hive.metastore.glue.catalogid
。
是否可以从不同的 Glue 目录(在不同的 AWS 账户上)连接表?
我尝试使用 Athena 从一个 AWS 租户到另一个租户创建一个视图,但显然 PySpark 无法查询 SQL 个视图。
这可以在 Pyspark 中通过设置目录分隔符配置来实现。
pyspark --conf spark.hadoop.aws.glue.catalog.separator="/"
然后可以直接从 Pyspark sql 查询中选择所需的目录。请注意,目录 ID(帐户 ID)由分隔符 /
:
分隔
spark.sql(select * from `111122223333/demodb.tab1` t1 inner join `444455556666/demodb.tab2` t2 on t1.col1 = t2.col2).show()
要从 EMR 上的 PySpark 查询 Glue 目录,我在集群配置中设置了参数 hive.metastore.glue.catalogid
。
是否可以从不同的 Glue 目录(在不同的 AWS 账户上)连接表?
我尝试使用 Athena 从一个 AWS 租户到另一个租户创建一个视图,但显然 PySpark 无法查询 SQL 个视图。
这可以在 Pyspark 中通过设置目录分隔符配置来实现。
pyspark --conf spark.hadoop.aws.glue.catalog.separator="/"
然后可以直接从 Pyspark sql 查询中选择所需的目录。请注意,目录 ID(帐户 ID)由分隔符 /
:
spark.sql(select * from `111122223333/demodb.tab1` t1 inner join `444455556666/demodb.tab2` t2 on t1.col1 = t2.col2).show()