将hive分区表加载到Spark Dataframe

时间:2016-03-28 15:52:44

标签: hadoop apache-spark hive apache-spark-sql spark-dataframe

我正在使用year_week版本。我正在尝试将分区的Hive表加载到DataFrame中,其中Hive表由spark.sql.shuffle.partitions数字分区,在一个场景中我可能有104个分区。

但我可以看到DataFrame正在将数据加载到200个分区中,我知道这是由于year_week默认设置为200。

我想知道是否有任何好的方法可以将我的Hive表加载到具有104个分区的Spark Dataframe,并确保在Dataframe加载时间内Dataframe被year_week编号分区。

我期望的原因是我将使用大量表进行少量连接,其中所有数据表都由year_week数字分区。因此,使用year_week数字进行分区并相应加载的数据帧将为我节省大量时间,使用{{1}}数字重新对其进行分区。

如果您对我有任何建议,请与我们联系。

感谢。

1 个答案:

答案 0 :(得分:0)

使用hiveContext.sql("Select * from tableName where pt='2012.07.28.10'")

其中,pt = partitionKey,在你的情况下将是year_week 和相应的价值。