Το πρόβλημα
Πώς μπορώ να δω τη συνάρτηση RxTextData για να χρησιμοποιήσετε το ' |' ως διαχωριστικό ή άλλο χαρακτήρα;
Λύση
Εάν τα δεδομένα σας κείμενο δεν διαχωρίζονται με κόμματα ή στηλοθέτες, πρέπει να καθορίσετε τον οριοθέτη χρησιμοποιώντας το όρισμα columnDelimiters. (Αυτό δεν είναι στην πραγματικότητα ένα όρισμα rxImport, αλλά το υποκείμενο αντικείμενο προέλευσης δεδομένων RxTextData.) Σε κανονική χρήση, το όρισμα αυτό έχει ένα χαρακτήρα, όπως columnDelimiters = "\t" για στηλοθέτες δεδομένα ή columnDelimiters = "," για δεδομένα οριοθετημένα με κόμμα. Ωστόσο, κάθε στήλη μπορεί να οριοθετείται με ένα διαφορετικό χαρακτήρα. όλες οι οριοθέτες πρέπει να συνενωθούν μαζί σε μία συμβολοσειρά. Για παράδειγμα, εάν έχετε μια στήλη που οριοθετείται από ένα κόμμα, ένα δεύτερο, ένα σύμβολο "συν" και μια τρίτη από μια νέα γραμμή, θα μπορούσατε να χρησιμοποιήσετε το όρισμα columnDelimiters = ", + \n".
αναγνωριστικό | val 1 | ένα 2 | β Προκειμένου για τα παραπάνω δεδομένα πώς μπορώ να διορθώσω το παρακάτω κώδικα, εξετάστε το ενδεχόμενο να ' |' ως το 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). για να μπορέσετε να διαβάσετε τη "διοχέτευση"-οριοθετημένα δεδομένα, θα πρέπει να ορίσετε την επιλογή "διαχωριστικό =" | "' στην κλήση σας RxTextData():
txtSource <- RxTextData(("directory value/ file_name in hdfs", fileSystem=hdfsFS, delimiter = "|")