Apache spark Spark Cost-Based Optimizer with Glue+;S3

Apache spark Spark Cost-Based Optimizer with Glue+;S3,apache-spark,hive,apache-spark-sql,aws-glue,aws-glue-data-catalog,Apache Spark,Hive,Apache Spark Sql,Aws Glue,Aws Glue Data Catalog,我在EMR集群上运行Spark作业。EMR使用AWS胶水作为蜂巢元存储。作业以拼花格式通过EMRFS将数据写入S3。我在方法的帮助下使用Spark SQL读取数据帧 可以用AWS胶水配置(CBO)吗 另外,Spark CBO将表级统计数据存储在元存储中。它适用于配置单元,但不适用于Spark默认元存储(嵌入式Derby)。所以我的困惑是基于这样一个问题:如果CBO已经在使用Glue作为Spark SQL的元存储,那么它是否可以使用Glue元存储。我想答案是肯定的,但仍然不确定。不幸的是,它不受支

我在EMR集群上运行Spark作业。EMR使用AWS胶水作为蜂巢元存储。作业以拼花格式通过EMRFS将数据写入S3。我在方法的帮助下使用Spark SQL读取数据帧

可以用AWS胶水配置(CBO)吗


另外,Spark CBO将表级统计数据存储在元存储中。它适用于配置单元,但不适用于Spark默认元存储(嵌入式Derby)。所以我的困惑是基于这样一个问题:如果CBO已经在使用Glue作为Spark SQL的元存储,那么它是否可以使用Glue元存储。我想答案是肯定的,但仍然不确定。

不幸的是,它不受支持

不支持配置单元中基于成本的优化。更改值 不支持将hive.cbo.enable设置为true


参考资料:

您可以在spark中应用任何CBO,即使您在胶水作业中使用spark。@syadav为什么这样做?CBO要求metastore在执行
ANALYZE table
命令后存储编辑表的元数据。另外,与Hive HCatalog相比,Glue应用了一些限制,即见下面的答案-Hive不支持CBO。我想知道Glue是否支持Spark作业的CBO您回答说Hive不支持CBO。但是Spark SQL呢?你为什么认为Spark也是一样的?检查<代码>客户可以配置其AWS Glue作业和开发端点,以将AWS Glue数据目录用作外部Apache Hive元存储。这允许他们直接对存储在AWS Glue数据目录中的表运行Apache Spark SQL查询。因此,正是AWS Glue目录中的Hive metastore允许运行Apache Spark SQL查询。@SandeepFatangare我知道,我在去年成功地对Glue运行了Spark SQL。您的回答说CBO不受支持,但您的评论说Glue是Hive metastore。我不明白CBO是如何被胶水支持还是不被胶水支持的。