【发布时间】:2018-07-04 20:09:54
【问题描述】:
使用 EMR 集群,我创建了一个映射到 DynamoDB 表的外部 Hive 表(超过 8 亿行)。它运行良好,我可以通过 hive 进行查询和插入。
如果我尝试使用 Hive 中的 hash_key 条件进行查询,我会在几秒钟内得到结果。但是使用 SparkSQL 和 enableHiveSupport(访问 Hive)通过 spark-submit 执行相同的查询并没有完成。似乎从 Spark 它正在对表进行完整扫描。
我尝试了几种配置(例如不同的 hive-site.xml),但在 Spark 上似乎效果不佳。我应该如何通过 Spark 做到这一点?有什么建议吗?
谢谢
【问题讨论】:
-
Spark 不能替代 Hive(或 Hadoop 上的其他数据库)。只是说...
-
我通过 Spark 使用 Hive,而不是替代品。
-
SparkSession和hiveSupport不在 Hive 上运行。它只是启用与 Metastore 的集成。仅此而已。 -
那我应该怎么做才能通过 Spark 运行 Hive?我不明白为什么同一个 Hive 表中的相同查询在 Hive 中可以在几秒钟内工作,而在 Spark 中它不起作用。
标签: apache-spark hive amazon-dynamodb amazon-emr