我正在从hivecontext获取数据并创建Dataframe。为了提高性能,我想在应用join操作之前对df进行分区。如何在“id”列上划分数据,然后在“id”上应用联接
spark = SparkSession.builder.enableHiveSupport().getOrCreate()
hiveCtx = HiveContext(spark)
df1 = hiveCtx.sql("select id,name,address from db.table1")
df2 = hiveCtx.sql("select id,name,marks from db.table2")
需要对数据执行以下操作
Dataframe按“id”分区
通过“id”加入
1条答案
按热度按时间6bc51xsx1#
可以使用重新分区。
参考spark文档:https://spark.apache.org/docs/latest/api/python/pyspark.sql.html?highlight=repartition#pyspark.sql.dataframe.repartition
根据数据大小,选择分区号。