В Spark, есть ли у нас гарантия, что данные в одном разделе поступают из одного и того же файла? - PullRequest
0 голосов
/ 17 марта 2020

Чтобы упростить мой сценарий использования, давайте предположим, что у меня есть несколько огромных файлов, которые я загружаю с помощью spark со следующим кодом:

val df = spark.read.textFile(files: _*)
              .withColumn("partition_id", spark_partition_id())
              .withColumn("input_file_name", input_file_name())

Это дает кадр данных искры, такой как:

____________________________________________
|value        |partition_id|input_file_name|
|some line    |0           |file1          |
|some line    |0           |file1          |
|some line    |1           |file1          |
|some line    |1           |file1          |
|some line    |2           |file2          |
|some line    |2           |file2          |

Как вы знаете, один файл может распространяться на несколько разделов зажигания ( 1 input_file_name -> n partition_id)

Мой вопрос: есть ли у нас гарантия, что для один раздел, input_file_name всегда одинаково?

Заранее спасибо

1 Ответ

0 голосов
/ 17 марта 2020

Я сделал много тестов, и ответ - Нет, если у вас небольшие файлы, один раздел может содержать много строк из нескольких файлов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...