Tôi đã chơi với Hive vài ngày nay nhưng tôi vẫn gặp khó khăn với phân vùng.Tôi có thể phân vùng một bảng bằng HIVE như thế nào?
Tôi đã ghi nhật ký Apache (Định dạng kết hợp) trong Hadoop trong vài tháng. Chúng được lưu trữ ở định dạng văn bản liên tiếp, phân chia theo ngày (thông qua máng): /logs/yyyy/mm/dd/hh/*
Ví dụ:
/logs/2012/02/10/00/Part01xx (02/10/2012 12:00 am)
/logs/2012/02/10/00/Part02xx
/logs/2012/02/10/13/Part0xxx (02/10/2012 01:00 pm)
Ngày trong file combined log được sau định dạng này [10/Feb/2012: 00: 00: 00 -0800]
Làm cách nào để tạo bảng ngoài có phân vùng trong Hive sử dụng phân vùng vật lý của tôi. Tôi không thể tìm thấy bất kỳ tài liệu nào tốt về phân vùng Hive. Tôi tìm thấy câu hỏi có liên quan như:
Nếu tôi tải các bản ghi của tôi trong một bảng bên ngoài với Hive, tôi không thể phân vùng với thời gian, vì nó không phải là định dạng tốt (Feb < => 02). Ngay cả khi nó ở định dạng tốt thì làm cách nào để tôi chuyển đổi chuỗi "10/02/2012: 00: 00: 00 -0800" thành nhiều thư mục "/ 2012/02/10/00"?
Tôi cuối cùng có thể sử dụng tập lệnh lợn để chuyển đổi các bản ghi thô thành bảng hive nhưng tại thời điểm này tôi chỉ nên sử dụng lợn thay vì tổ để làm báo cáo của mình.
Vì vậy, tôi sẽ tạo bảng trông như thế nào? và tôi sẽ làm một truy vấn để sử dụng những phân vùng? – zzarbi
Xem các chỉnh sửa của tôi trong câu trả lời. – Olaf
Tôi sẽ phải kiểm tra rằng tôi sẽ lấy lại cho bạn ngay khi tôi có thể – zzarbi