从hivecontext创建的pyspark分区Dataframe

yebdmbv4  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(437)

我正在从hivecontext获取数据并创建Dataframe。为了提高性能,我想在应用join操作之前对df进行分区。如何在“id”列上划分数据,然后在“id”上应用联接

  1. spark = SparkSession.builder.enableHiveSupport().getOrCreate()
  2. hiveCtx = HiveContext(spark)
  3. df1 = hiveCtx.sql("select id,name,address from db.table1")
  4. df2 = hiveCtx.sql("select id,name,marks from db.table2")

需要对数据执行以下操作
Dataframe按“id”分区
通过“id”加入

6bc51xsx

6bc51xsx1#

可以使用重新分区。
参考spark文档:https://spark.apache.org/docs/latest/api/python/pyspark.sql.html?highlight=repartition#pyspark.sql.dataframe.repartition
根据数据大小,选择分区号。

  1. df1= df1.repartition(7, "id")

相关问题