Đối với dự án Big Data, tôi dự định sử dụng spark, trong đó có một số tính năng tuyệt vời như tính toán trong bộ nhớ cho khối lượng công việc lặp lại. Nó có thể chạy trên các tập tin địa phương hoặc trên đầu trang của HDFS.hỗ trợ gzip trong Spark
Tuy nhiên, trong tài liệu chính thức, tôi không thể tìm thấy bất kỳ gợi ý nào về cách xử lý các tệp đã nén. Trong thực tế, nó có thể khá hiệu quả để xử lý các tệp .gz thay vì các tệp đã giải nén.
Có cách nào để thực hiện thủ công việc đọc tệp đã giải nén hoặc giải nén đã được tự động thực hiện khi đọc tệp .gz không?
tôi xin lưu ý rằng nếu bạn gọi 'sc.textFile() 'trên một tập tin đã giải nén, Spark sẽ cung cấp cho bạn một RDD chỉ với 1 phân vùng (như 0.9.0). Điều này là do các tệp được nén là [không thể chia nhỏ] (http://mail-archives.apache.org/mod_mbox/spark-user/201310.mbox/%[email protected] .com% 3E). Nếu bạn không phân vùng lại RDD bằng cách nào đó, bất kỳ hoạt động nào trên RDD đó sẽ bị giới hạn ở một lõi đơn. –
Khi tôi thử 'logs = sc.textFile (" logs/*. Bz2 ")', tôi gặp lỗi trên 'logs.count()' sau đó. Bất kỳ ý tưởng tại sao? – zbinsd
@zbinsd bạn đã tìm ra nó ở cuối? Tôi nhận được lỗi sau khi tải tệp tar.gz: JsonParseException: Ký tự không hợp lệ ((CTRL-CHAR, mã 0)): chỉ khoảng trắng thông thường (\ r, \ n, \ t) được cho phép giữa các mã thông báo – Leon