Hive将txt、csv等文本文件导入hive表

本文介绍如何使用Hive创建外部表并将TXT文本文件中的数据导入到该表中。主要内容包括设置HDFS路径、登录Hive并选择数据库、编写创建外部表的SQL语句及执行数据导入操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、将txt文本文件放置hdfs目录下

这里写图片描述

2、登录hive并进入到指定数据库

3、创建表

create external table if not exists fun_user_external (
    tid INT,
    userid STRING, 
    pwd STRING, 
    create_time BIGINT,
    email STRING
    ...
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '`' STORED AS TEXTFILE
  • 建表语句中主要的是最后一部分:ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘`’ STORED AS TEXTFILE

4、执行导入语句

load data inpath '/tmp/fun_user.txt' into table fun_user_external;
load data local inpath '/tmp/fun_user.txt' into table fun_user_external;

上面两条数据导入语句,如果有local这个关键字,则这个路径应该为本地文件系统路径,数据会被拷贝到目标位置;如果省略掉local关键字,那么这个路径应该是分布式文件系统中的路径,这种情况下,数据是从这个路径转移到目标位置的。

Hive导入CSV文件通常涉及到两个步骤:创建格并指定适当的序列化器,然后加载数据。 1. 创建CSV格式的格[^1]: ```sql CREATE TABLE IF NOT EXISTS your_table_name ( -- 填写实际字段名,如uid, uname, age col1 string, col2 string, col3 int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' STORED AS TEXTFILE; -- 或者你可以选择TEXTFILE, ORC, PARQUET等存储格式 -- 如果已知文件路径,可以直接加载数据 LOAD DATA LOCAL INPATH '/path/to/your/csv_file.csv' INTO TABLE your_table_name; ``` 2. 导入CSV文件到Parquet格式的: 如果你想要将CSV文件转换成Parquet格式,首先创建一个Parquet,然后删除现有的CSV(这里假设`csv2`是你要替换的): ```sql DROP TABLE IF EXISTS csv2; CREATE TABLE csv2 ( -- 同上填写字段定义 ) ROW FORMAT SERDE 'org.apache.hadoop.hive.parquet.serde.ParquetHiveSerDe' STORED AS PARQUET; -- 由于Parquet不支持直接从文本文件导入,先将CSV转换为临时的TextFile CREATE TEMPORARY TABLE temp_table LIKE csv2; INSERT OVERWRITE TABLE temp_table SELECT * FROM default.csv2; -- 然后再将临时转换为Parquet格式 ALTER TABLE temp_table SET TBLPROPERTIES ('orc.compress'='ZLIB'); ANALYZE TABLE temp_table COMPUTE STATISTICS; MSCK REPAIR TABLE temp_table; DROP TABLE csv2; RENAME TABLE temp_table TO csv2; ``` 请注意,在实际操作时,可能需要根据你的具体环境调整文件路径和名。完成上述步骤后,你可以通过`SELECT * FROM csv2`查询导入数据
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值