Vấn đề
Làm thế nào để biết các chức năng RxTextData sử dụng các ' |' dấu tách hoặc ký tự không?
Giải pháp
Nếu dữ liệu văn bản không được phân tách bằng dấu phẩy hoặc tab, bạn phải xác định dấu tách sử dụng tham số columnDelimiters. (Điều này là không thực sự là một đối số rxImport, nhưng RxTextData tiềm ẩn đối tượng nguồn dữ liệu). Việc sử dụng thông thường, đối số này là duy nhất, chẳng hạn như columnDelimiters = "\t" ngăn cách bằng dấu tab dữ liệu hoặc columnDelimiters = "," dữ liệu ngăn cách bằng dấu phẩy. Tuy nhiên, mỗi cột có thể được ngăn cách bằng một ký tự khác; Tất cả các dấu cách phải được nối với nhau thành một chuỗi ký tự duy nhất. Ví dụ: nếu bạn có một cột phân cách bằng dấu phẩy, tí dấu cộng và thứ ba của một dòng mới, bạn sẽ sử dụng tham số columnDelimiters = ", + \n".
ID | val
1 | a
2 | b
Do đó, dữ liệu trên làm thế nào để khắc phục các mã cần xem xét dưới đây ' |' như delimeter
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). để có thể đọc 'ống'-tách dữ liệu, bạn sẽ cần để thiết lập các tùy chọn ' dấu tách = "|"' trong RxTextData() của bạn:
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")