Đầu tiên tôi tạo hive bảng bên ngoài chia theo mã và ngàyhive bên ngoài bảng phân vùng
CREATE EXTERNAL TABLE IF NOT EXISTS XYZ
(
ID STRING,
SAL BIGINT,
NAME STRING,
)
PARTITIONED BY (CODE INT,DATE STRING)
ROW FORMAT SERDE 'parquet.hive.serde.ParquetHiveSerDe'
STORED AS
INPUTFORMAT "parquet.hive.DeprecatedParquetInputFormat"
OUTPUTFORMAT "parquet.hive.DeprecatedParquetOutputFormat"
LOCATION '/old_work/XYZ';
và sau đó tôi thực hiện chèn ghi đè lên trên bảng này lấy dữ liệu từ bảng khác
INSERT OVERWRITE TABLE XYZ PARTITION (CODE,DATE)
SELECT
*
FROM TEMP_XYZ;
và sau khi tôi rằng đếm số lượng bản ghi trong hive số đếm (*) từ XYZ; nó hiển thị cho tôi 1000 bản ghi có và sau đó tôi đổi tên hoặc di chuyển vị trí '/ old_work/XYZ' sang '/ new_work/XYZ'
và sau đó tôi lại thả bảng XYZ và tạo lại vị trí vào thư mục mới phương tiện '/ new_work/XYZ'
CREATE EXTERNAL TABLE IF NOT EXISTS XYZ
(
ID STRING,
SAL BIGINT,
NAME STRING,
)
PARTITIONED BY (CODE INT,DATE STRING)
ROW FORMAT SERDE 'parquet.hive.serde.ParquetHiveSerDe'
STORED AS
INPUTFORMAT "parquet.hive.DeprecatedParquetInputFormat"
OUTPUTFORMAT "parquet.hive.DeprecatedParquetOutputFormat"
LOCATION '/new_work/XYZ';
Nhưng sau đó khi tôi thực hiện select count (*) từ bảng XYZ trong tổ ong, nó cho thấy 0 hồ sơ, tôi nghĩ rằng tôi đã bỏ lỡ điều gì đó, hãy giúp tôi về điều này ?? ??
Tại sao nó không được cập nhật? Tôi đang xem xét điều này và không thể thấy bất kỳ lý do nào tại sao điều này sẽ không hoạt động ... – Avius