Я извлекаю данные из HDFS и сохраняю их в Spark RDD. Spark создает количество разделов на основе количества блоков HDFS. Это приводит к большому количеству пустых разделов, которые также обрабатываются во время трубопровода. Чтобы удалить эти служебные данные, я хочу отфильтровать все пустые разделы из RDD. Я знаю об объединении и переделке, но нет гарантии, что все пустые разделы будут удалены.Удалить пустые разделы из Spark RDD
Есть ли другой способ этого?
«* Это приводит к большому количеству пустых разделов, которые также обрабатываются во время трубопровода *« Я не понимаю этого предложения. Почему и когда создаются эти пустые разделы? –
Предположим, что я получаю данные с помощью Hive, и мои hdfs имеют 500 файловых блоков для данной таблицы улья, в этом случае в RDD будет создано 500 разделов. Позже, когда вы делаете groupbykey, пустые разделы остаются. – user3898179
Если у вас есть априорно о ваших данных, вы можете перераспределить, используя либо «RangePartitioner», либо «HashPartitioner». Если нет, вы можете использовать раздел на основе случайных чисел. – zero323