Sorun
Nasıl kullanmak için RxTextData işlevini söyleyebilirim ' |' sınırlayıcı veya başka bir karakter olarak?
Çözüm
Metin verilerinizi virgül veya sekmeyle ayrılmış değil, columnDelimiters bağımsız değişkeni kullanarak ayırıcı belirtmelisiniz. (Bu aslında bir bağımsız değişken rxImport, ancak alttaki RxTextData veri kaynağı nesnesi değildir.) Normal kullanımda columnDelimiters tek bir karakteri bu bağımsız değişken ise = columnDelimiters veya sekmeyle ayrılmış veri için "\t" = "," verileri virgülle ayrılmış. Ancak, her bir sütun farklı bir karakter tarafından sınırlanmış; Sınırlayıcılar tek bir karakter dizesi birlikte birleştirilmiş gerekir. Örneğin, sınırlı bir sütun varsa, virgül, ikinci bir artı işareti ve yeni bir satır olarak üçüncü, bağımsız değişken columnDelimiters kullanırsınız = ", + \n".
Kimliği | val 1 | bir 2 | b Yukarıdaki verileri nasıl düzeltirim için dikkate alınması gereken kod aşağıda ' |' olarak delimeterhdfsFS <- 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). pipe' okuma yapabilmek için-sınırlı bir veri seçeneği ayarlamanız gerekecektir ' sınırlayıcı = "|"', RxTextData() çağrı:
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")