【发布时间】:2016-10-10 22:28:18
【问题描述】:
我在 python 中使用 SparkSQL。我创建了一个分区表(大约数百个分区),使用 hiveContext 将其存储到 Hive 内部表中。 Hive 仓库位于 S3。
当我简单地执行“df = hiveContext.table(“mytable”)。第一次遍历所有分区需要一分钟多的时间。我以为 Metastore 存储了所有元数据。为什么 spark 仍然需要遍历每个分区?是否可以避免这一步,以便我的启动更快?
【问题讨论】:
-
如果您的数据存储在远程计算机上,并且您正尝试将数据远程访问到您的集群。需要时间将其复制到您的集群上,以便您可以使用它!
-
但我的意思只是这一行: df = hiveContext.table("mytable") 这还没有收集任何数据。这只是给出了一个带有模式信息的数据框。架构信息应该已经存储在 Metastore 中。
-
和?你为什么发表这样的评论?
-
抱歉,不小心提交了评论。请刷新。
-
如果数据没有加载到集群上,如何获取schema信息?
标签: apache-spark hive apache-spark-sql metastore