Адаптированный первый ответ к утверждению:
Местоположение строки «ключ» является случайным в родительской строке, единственное, что гарантируется, это то, что она содержит эту подстроку, вв этом случае «ActivityType», за которым следует некоторое значение.
Вопрос действительно об этом.Здесь идет:
// SO Question
val rdd = sc.textFile("/FileStore/tables/activitySO.txt")
val rdd2 = rdd.map(x => (x.slice (x.indexOfSlice("ActivityType=<")+14, x.indexOfSlice(">", (x.indexOfSlice("ActivityType=<")+14))), x))
val df = rdd2.toDF("K", "V")
df.write.partitionBy("K").text("SO_QUESTION2")
Ввод:
ActivityType=<ACT_001>,34,56,67,89,90
3,4,4,ActivityType=<ACT_002>,A,1,2
ABC,ActivityType=<ACT_0033>
DEF,ActivityType=<ACT_0033>
Вывод - 3 файла, в которых ключ, например, не ActivityType =, а ACT_001 и т. Д. Данные ключа не удаляются,это все еще там в Последовательности.Вы можете изменить это, если хотите, а также расположение и формат вывода.