Проблема
Как узнать с помощью функции RxTextData ' |' как разделитель или другой знак?
Решение
Если текстовые данные не разделены запятыми или символами табуляции, необходимо указать разделитель, с помощью аргумента columnDelimiters. (Это не фактического аргумента для rxImport, но для базового объекта источника данных RxTextData.) В обычном режиме, этот аргумент представляет собой одиночный знак, например columnDelimiters = «\t» для табуляции данных или columnDelimiters = «,» для данных с разделителями запятыми. Однако каждый столбец может быть заключено в другие символы; разделители должны объединенными в одну символьную строку. Например, если у вас есть один столбец с разделителями запятыми, второй плюс, а третий с новой строки, следует использовать аргумент columnDelimiters =», + \n».
Идентификатор | val
1 |
2 | b
Поэтому выше данных как исправить ниже кода следует учитывать ' |' как разделителем
hdfsFS <- RxHdfsFileSystem(hostName=”dummy ", port="dummy") txtSource <- RxTextData("directory value/ file_name in hdfs", fileSystem=hdfsFS)
airData <- rxImport(inData=txtSource, outFile = "/tmp/test.xdf",stringsAsFactors = TRUE, missingValueString = "M", rowsPerRead = 200000, overwrite=TRUE)
rxSummary(~ id+val, data = airData)
2). Чтобы иметь возможность читать «канал»-разделителями данных, необходимо установить параметр "Разделитель =" | "" в вызове RxTextData():
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")