问题
如何确定要使用的 RxTextData 函数 | 作为分隔符或其他字符?
解决方案
如果不由逗号或制表符分隔文本数据,则必须指定使用 columnDelimiters 参数分隔符。(这是不实际的参数到 rxImport,而基础的 RxTextData 数据源对象。)在正常使用,该参数是单个字符,例如 columnDelimiters ="\t"制表符分隔数据或 columnDelimiters =","以逗号分隔的数据。但是,每一列可能用不同的字符;所有分隔符必须都连接在一起成一个单字符字符串。例如,如果您有一个分隔的列由逗号、 一个加号,并按新行的第三个第二,您可以使用参数 columnDelimiters =",+ \n"。
id | 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 = "|")