Мы используем Java с Spark. Текущее требование состоит в том, чтобы написать набор данных для Spark с пробелом в качестве разделителя. Ниже приведен код, который я пробовал:
fooDataSetObject.coalesce(1).map((MapFunction<FooDataSet, FooDataSet>) fooDataSet ->
FileOperations.call(fooDataSet,broadcastedProperty),encoder).select("column","cons_zero",
"columnA","columnB","columnC","columnD",
"constants_value")
.write()
.format("com.databricks.spark.csv")
.option("inferSchema", true)
.option(Constants.DELIMITER, " ")
.option(Constants.IGNORE_LEADING_WHITESPACE, ApplicationConstants.FALSE)
.option(Constants.IGNORE_TRAILING_WHITESPACE, ApplicationConstants.FALSE)
.option("quote", " ")
.mode(SaveMode.Overwrite)
.save(path);
Я использовал QuoteMode как None, но не работал. Когда я попытался использовать опцию цитирования со значением в качестве "\ u0000", он добавил специальные символы в файл. Я также попытался использовать опцию цитаты с явным применением опции кодировки UTF-8.
Есть ли что-то еще, что нужно сделать со стороны конфигурации Java или SPARK. Я попытался использовать --conf в качестве параметра при отправке работы с искрой и предоставлении кодировщика как UTF-8.
Любая помощь или предложения приветствуются.
Пример значений DataSet:
| 00123400| 93115212345678| 16| 0C|Tickets Cash-back | 57695857| 602140| 24394483| 24394483| 0| 99|60214057695857Tic...|66754325-83d1-426...| 24| null| 01|c28380c5-c926-4b4...|Identity Defence |Let's Go...Rewards| null| null| ON| 17| 12345678|GB 29 NWBK 12345 ...| 931152| null|cb032911-4c4e-406...| null| 20987|ABC...| GBR| 962000| cashback|null|X Batch | null| 99|12345 |
| 00123400| 93115212345678| 17| 0C|Tickets Cash-back | 57695857| 602140| 24394483| 24394483| 0| 99|60214057695857Tic...|23703242-e130-48b...| 24| null| 01|a4e52b47-8866-4d1...|Identity Defence |Let's Go...Rewards| null| null| ON| 17| 12345678|GB 29 NWBK 12345 ...| 931152| null|ee98f2e8-f489-4f3...| null| 20987|ABC...| GBR| 962000| cashback|null|X Batch | null| 99|12345 |
| 00123400| 93115212345678| 19| 0C|Tickets Cash-back | 57695857| 602140| 24394483| 24394483| 0| 99|60214057695857Tic...|c7138601-b26d-49d...| 24| null| 01|dfefcf96-4f56-4ab...|Identity Defence |Let's Go...Rewards| null| null| ON| 17| 12345678|GB 29 NWBK 12345 ...| 931152| null|dd9027bd-4fcd-45d...| null| 20987|ABC...| GBR| 962000| cashback|null|X Batch | null| 99|12345 |
| 00123400| 93115212345678| 20| 0C|Tickets Cash-back | 57695857| 602140| 24394483| 24394483| 0| 99|60214057695857Tic...|63cbd563-2af4-472...| 24| null| 01|9629f346-7dde-429...|Identity Defence |Let's Go...Rewards| null| null| ON| 17| 12345678|GB 29 NWBK 12345 ...| 931152| null|7b9d0698-0de1-45d...| null| 20987|ABC...| GBR| 962000| cashback|null|X Batch | null| 99|12345 |
Вывод:
93115212345678 0 "GB 29 NWBK 12345 78978911 " 00123400 "12345 " 99 "60214057695857Tickets Cash-back 0"