Apache spark spark submit与hive shell中的查询性能

Apache spark spark submit与hive shell中的查询性能,apache-spark,pyspark,hive,amazon-dynamodb,amazon-emr,Apache Spark,Pyspark,Hive,Amazon Dynamodb,Amazon Emr,我很难调试为什么通过spark submit对hive外部表(由dynamodb支持)进行简单查询需要10分钟,而在hive shell中只需要4秒钟 引用Dynamodb表的配置单元外部表,如Employee[id、name、ssn、dept]。id是分区键,ssn是范围键 使用aws emr 5.29、spark、hive、tez、hadoop。1台主机,4芯,m5.l 在配置单元外壳中:从employee here id='123/ABC/X12I'选择名称、部门、ssn'在4秒内返回结果

我很难调试为什么通过spark submit对hive外部表(由dynamodb支持)进行简单查询需要10分钟,而在hive shell中只需要4秒钟

引用Dynamodb表的配置单元外部表,如Employee[id、name、ssn、dept]。id是分区键,ssn是范围键

使用aws emr 5.29、spark、hive、tez、hadoop。1台主机,4芯,m5.l

在配置单元外壳中:
从employee here id='123/ABC/X12I'选择名称、部门、ssn'
在4秒内返回结果

现在,假设我在code.py中有以下代码(忽略导入)

我在主节点上提交上述内容:

spark提交--jars/pathto/emr-ddb-hive.jar,/pathto/emr-ddb-hadoop.jar code.py

上述spark提交需要14分钟以上的时间。我不确定需要调整或设置哪个参数以获得更好的响应时间

在蜂箱外壳中,我做了一个
设置
;要查看hive shell正在使用的参数,有无数个

我还尝试了boto3-dynamodb搜索方式,它比我简单的py-sql要快得多


我缺少基础知识…任何想法或方向都值得赞赏。

我在尝试通过收集()打印时正在进行聚合。。我读过这篇文章,但没有意识到它有那么糟糕(就时间而言)。最后,我还做了一些实验,比如take(n)limit 1当我试图通过执行collect()打印时,我正在进行聚合。我读过这篇文章,但没有意识到它有那么糟糕(就时间而言)。最后,我做了更多的实验,比如take(n)limit 1

spark = SparkSession.builder.appName("test").enableHiveSupport().getOrCreate()
data=spark.sql("select name, dept, ssn from employee here id='123/ABC/X12I'")
# print data or get length