Problema
¿Cómo se puede saber la función de RxTextData utilizar el ' |' como delimitador u otro carácter?
Solución
Si no los datos de texto separados por comas o tabulaciones, debe especificar el delimitador con el argumento columnDelimiters. (Esto no es realmente un argumento para rxImport, pero para el objeto de origen de datos subyacente de RxTextData.) En el uso normal, este argumento es un solo carácter, por ejemplo, columnDelimiters = "\t" de datos delimitado por tabulaciones o columnDelimiters = "," para los datos delimitados por comas. Sin embargo, cada columna puede estar delimitada por un carácter diferente; todos los delimitadores deben concatenados en una única cadena de caracteres. Por ejemplo, si tiene una columna delimitada por una coma, un segundo por un signo más y una tercera con una línea nueva, se utilizaría el argumento columnDelimiters = ", + \n".
ID | val
1 | un
2 | b
Así que para los datos anteriores ¿Cómo soluciono el debajo código considerar ' |' como el delimitador
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). para poder leer 'pipe'-datos delimitado, debe establecer la opción ' delimitador = "|"' en la llamada RxTextData():
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")