Cara menggabungkan beberapa file ORC (milik setiap partisi) dalam tabel ORC Hive yang Dipartisi menjadi satu file ORC besar

Saya memiliki tabel ORC yang dipartisi di Hive. Setelah memuat tabel dengan semua kemungkinan partisi yang saya dapatkan di HDFS - beberapa file ORC yaitu setiap direktori partisi di HDFS memiliki file ORC di dalamnya. Saya perlu menggabungkan semua file ORC ini di bawah setiap partisi menjadi satu file ORC besar untuk beberapa kasus penggunaan.

Dapatkah seseorang menyarankan saya cara untuk menggabungkan beberapa file ORC ini (milik setiap partisi) menjadi satu file ORC besar.

Saya sudah mencoba membuat tabel ORC Non Partitioned baru dari tabel Partitioned.. Itu memang mengurangi jumlah file tetapi tidak menjadi satu file.

PS: Membuat tabel dari tabel lain sepenuhnya merupakan tugas peta dan karenanya menyetel jumlah reduksi menjadi 1 menggunakan properti 'set mapred.reduce.tasks=1;' tidak membantu.

Terima kasih


person Anchit Jatana    schedule 29.12.2017    source sumber


Jawaban (1)


Anda dapat menggunakan perintah CONCATENATE untuk menggabungkan file orc kecil. Hal ini dapat dilakukan pada tingkat tabel dan partisi: Sintaksnya sesuai dengan orc dokumentasi:

pengguna dapat meminta penggabungan file ORC kecil secara efisien dengan mengeluarkan perintah CONCATENATE pada tabel atau partisi mereka. File akan digabungkan pada tingkat stripe tanpa serialisasi ulang.

ALTER TABLE istari [PARTITION partition_spec] CONCATENATE;
person Amit Kumar    schedule 29.12.2017