Đây có lẽ là một câu hỏi rất cơ bản, vì vậy hãy tha thứ cho sự thiếu hiểu biết của tôi.
Tôi biết Hive sẽ sử dụng hai thiết lập vanilla sẵn có (trích xuất Hive tar.bin). Trong trường hợp của tôi, tôi có tổ ong 0,14.
Có một cái trong cơ sở dữ liệu derby -- ngoài hdfs còn có một cái tên là metastore_db
Tên thư mục mặc định.
Ngoài ra còn có một tệp trong hdfs trong /user/hive/warehouse.
Sự khác biệt giữa hai là gì?
Trong Hive, Metastore bao gồm (1) dịch vụ metastore và (2) cơ sở dữ liệu.
Cơ sở dữ liệu di căn - là bất kỳ cơ sở dữ liệu RDBMS tuân thủ JDBC nào được lưu trữ trong đó bảng được quản lý và bên ngoài Chi tiết lược đồ và phân vùng Các ứng dụng khác (chẳng hạn như Impala) có thể sử dụng điều này để lấy chi tiết bảng và lược đồ từ nó. Như tên cho thấy, nó chỉ lưu trữ siêu dữ liệu.
Dịch vụ di động - Hive cũng chạy một dịch vụ riêng gọi là dịch vụ Metastore để quản lý dữ liệu Metastore, chẳng hạn như lưu trữ siêu dữ liệu của các bảng và phân vùng Hive trong cơ sở dữ liệu Metastore, đồng thời cung cấp cho khách hàng (bao gồm cả Hive) quyền truy cập để lấy thông tin này thông qua API dịch vụ Metastore.
Kho - Dữ liệu Hive được lưu trữ trong HDFS, thường là trong /user/Hive/warehouse (hoặc bất kỳ đường dẫn nào bạn chỉ định là Hive.metastore.warehouse.dir trong Hive-site.xml).
Tôi là một lập trình viên xuất sắc, rất giỏi!