amazon web服务—由athena创建的aws胶水表由emr spark读取两次

w8ntj3qf  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(271)

当我用ctas语法在athena中创建一个表时(下面的示例),表被注册为粘合,这样当我用(py)spark读取emr集群上的同一个表时,每个分区都被读取两次,但是当我用athena读取它时,就可以了。当我用spark创建一个表时 write.saveAsTable 语法,它被注册为正确地粘合,这个表被spark和athena正确地读取。
我在spark/athena/glue文档中没有找到任何关于这个的信息。经过一些尝试和错误,我发现有一个胶水表属性是由spark设置的,而不是由athena设置的: spark.sql.sources.provider='parquet' . 当我在通过雅典娜创建的表上手动设置时,spark会正确地读取它。但这感觉像一个丑陋的解决办法,我想了解什么是在后台发生的。我没有找到任何关于这张table的资料。
athena创建表语法:

CREATE TABLE {database}.{table}
WITH (format = 'Parquet',
      parquet_compression = 'SNAPPY',
      external_location = '{s3path}')
AS SELECT

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题