Чтобы упростить мой сценарий использования, давайте предположим, что у меня есть несколько огромных файлов, которые я загружаю с помощью 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 всегда одинаково?
Заранее спасибо