Problema
Come stabilire la funzione RxTextData per l'utilizzo di ' |' come delimitatore o un altro carattere?
Soluzione
Se i dati di testo non sono separati da virgole o tabulazioni, è necessario specificare il delimitatore utilizzando l'argomento columnDelimiters. (Questa operazione è effettivamente un argomento a rxImport, ma all'oggetto di origine dati sottostante RxTextData.) Nel normale utilizzo, questo argomento è un carattere singolo, ad esempio columnDelimiters = "\t" di dati delimitato da tabulazioni o columnDelimiters = "," per i dati delimitati da virgole. Tuttavia, ogni colonna può essere delimitato da un altro carattere; tutti i delimitatori devono essere concatenati tra loro in una sola stringa. Ad esempio, se si dispone di una colonna delimitata da una virgola, un secondo da un segno e un terzo da una nuova riga, utilizzare l'argomento columnDelimiters = ", \n +".
ID | val
1 | un
2 | b
In modo che per i suddetti dati come correggere il sotto codice da prendere in considerazione ' |' come di un delimitatore
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). per essere in grado di leggere 'pipe'-dati delimitati, è necessario impostare l'opzione ' delimitatore = "|" "nella chiamata RxTextData():
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")