随机Split方法行为

使用随机Split方法时学习自相矛盾行为Databricks

写由亚当巴夫拉卡

2022年5月31日

使用时随机滑动数据Frame上,你有可能观察前后不一行为举个例子

Pythondf=spark.read.format

典型查询返回0.视底层数据源或输入DataFrame而定,在某些情况下查询可产生0多记录

出乎意料行为的解释是,数据分布跨RDD分区非一元性,并可在查询执行期间重排列或更新,从而影响输出随机滑动方法论

删除

信息学

SparkDataFrames和RDDs维护分治顺序问题只在查询输出依赖实际数据跨分区分布时存在,例如文件1、2和3的值总出现在分区1.

使用Delta缓存时也可以观察问题AWS系统|休眠|GCP)下表所有解决方案仍适用于此例

求解

执行下列操作之一 :

  • 使用显式ApachesparkRDD缓存
    Pythondf=输入DF.Cache
  • 取列或列集
    Pythondf=输入DF.re划分
  • 应用集合函数
    Pythondf=输入DF.groupBy

操作持久或打乱数据导致Spark作业跨分区数据分布一致性

文章有帮助吗