Данные HDFS перемещены в другое место после успешной загрузки: Hive - PullRequest
0 голосов
/ 24 апреля 2020

Привет, я загружаю данные некоторых файлов из местоположения hdfs в таблицу кустов с помощью load commnad.

    Load data inpath 'hdfspath/filename' into table tablename.

Но после загрузки данных в таблицу кустов данные перемещаются в другое место, но я не хочу перемещать свой источник файл из местоположения есть ли способ сохранить данные в том же месте после загрузки также

1 Ответ

0 голосов
/ 24 апреля 2020

@ PriyaBanerjee Похоже, вы описываете создание собственной таблицы кустов по пути. Мой совет - создать внешнюю таблицу на пути. Это сохранит расположение данных.

Вот пример:

CREATE EXTERNAL TABLE IF NOT EXISTS Cars(
    Name STRING,
    Miles_per_Gallon INT,
    Cylinders INT,
    Displacement INT,
    Horsepower INT,
    Weight_in_lbs INT,
    Acceleration DECIMAL,
    Year DATE,
    Origin CHAR(1))
COMMENT 'Data about cars from a public database'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE
location '/user/<username>/visdata';

Вам просто нужно настроить оператор в соответствии с вашим источником данных. Если у вас уже есть таблица в кусте, вы можете запустить show create table для существующей таблицы, чтобы получить схему. Затем просто настройте верхнюю строку на CREATE EXTERNAL, а нижнюю строку на путь hdfs.

...