Problema
Como saber a função RxTextData para usar o ' |' como delimitador ou outro caractere?
Solução
Se os dados de texto não estão separados por vírgulas ou tabulações, especifique o delimitador usando o argumento columnDelimiters. (Isso não é realmente um argumento rxImport, mas o objeto de fonte de dados subjacente do RxTextData.) Em uso normal, esse argumento é um único caractere, como columnDelimiters = "\t" de dados delimitado por tabulação ou columnDelimiters = "," para dados delimitados por vírgula. No entanto, cada coluna pode ser delimitada por um caractere diferente; todos os delimitadores devem ser concatenados em uma sequência de caracteres única. Por exemplo, se você tiver uma coluna delimitada por uma vírgula, um segundo por um sinal de mais e um terceiro por uma nova linha, use o argumento columnDelimiters = ", + \n".
ID | val
1 | uma
2 | b
Portanto, para os dados acima como corrigir o abaixo código considerar ' |' como o 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). ser capaz de ler 'pipe'-dados delimitados, você precisará definir a opção ' delimitador = "|"' na sua chamada RxTextData():
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")