hdfs数据在成功加载后移动到其他位置:配置单元

2lpgd968  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(339)

hi am使用load commnad将一些文件数据从hdfs位置加载到配置单元表。

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

但是在将数据加载到配置单元表之后,数据会移动到其他位置,但是我不想将源文件从该位置移动,是否有任何方法可以在加载之后将数据保持在相同的位置

kmynzznz

kmynzznz1#

@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来获取架构。然后只需调整顶行以创建外部路径,调整底行以创建hdfs路径。

相关问题