我正在使用 Spark 1.4.1
版本 . 我正在尝试将分区的Hive表加载到DataFrame中,其中Hive表由 year_week
分区,在一个场景中我可能有104个分区 .
但我可以看到DataFrame正在将数据加载到200个分区中,我知道这是由于 spark.sql.shuffle.partitions
默认设置为200 .
我想知道是否有任何好的方法可以将我的Hive表加载到具有104个分区的Spark Dataframe,并确保在Dataframe加载时间内Dataframe被 year_week
分区 .
我期望的原因是我将与大量表进行少量连接,其中所有数据表都被 year_week
数字分区 . 因此,使用 year_week
数字划分数据帧并相应地加载将为我节省大量时间,使用 year_week
数字重新划分它们 .
如果您对我有任何建议,请告诉我 .
谢谢 .
1 回答
使用
hiveContext.sql("Select * from tableName where pt='2012.07.28.10'")
其中,pt = partitionKey,在你的情况下将是year_week和相应的值 .