如何根据键值将键控RDD分为2个分区

时间:2020-09-08 05:04:48

标签: python apache-spark pyspark

有一个包含车辆数据的RDD。我能够获取该RDD的键值对,并保持LIC_state作为每个记录的键。

如何将带键的RDD划分为2个分区,将具有密钥SA的记录保存在一个分区中,其余的保存在另一个分区中

1 个答案:

答案 0 :(得分:0)

您可以编写并应用自定义分区程序,该分区程序将根据密钥分割数据。

首先定义分区逻辑

  "mappings": {
       "properties": {
         "subscriptionid": {
            "type": "keyword"
         },
         "resources":{
            "type": "nested",
}
}

,其中def partitionFunc(key): if key == "SA": return 0 else return 1 是“ LIC_state”。然后将其应用于您的key

RDD

其中partitionedRDD = keyedRDD.partitionBy(2, partitionFunc) 是键/值配对的RDD。

相关问题