Hive导入csv文件示例


Posted in 数据库 onJune 25, 2022

正文

现有文件为csv格式,需要导入hive中,设csv内容如下

1001,zs,23
1002,lis,24

首先创建表

create table if not exists csv2(
    uid int,
    uname string,
    age int
)
row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
stored as textfile ;

导入数据及查询

load data local inpath '/data/csv2.csv' into table csv2;
select * from csv2;

其他注意事项

如果建表是parquet格式可否load导入csv文件?

drop table csv2;
create table if not exists csv2(
    uid int,
    uname string,
    age int
)
row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
stored as parquet ;

load data local inpath '/data/csv2.csv' into table csv2;
select * from csv2;

使用时会报错

Failed with exception java.io.IOException:java.lang.RuntimeException: hdfs://192.168.10.101:8020/user/hive/warehouse/csv2/csv2.csv is not a Parquet file. expected magic number at tail [80, 65, 82, 49] but found [44, 50, 52, 10]

**不可以,需要先导入成textfile,之后再从临时表导入成parquet,**如下

drop table csv2;
create table if not exists csv2
(
    uid   int,
    uname string,
    age   int
)
    row format serde 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    stored as textfile;
-- 先导入csv文件到表格csv2,保存格式是textfile
load data local inpath '/data/csv2.csv' into table csv2;


drop table csv3;
-- 创建csv3,保存格式parquet
create table if not exists csv3
(
    uid   int,
    uname string,
    age   int
)
    row format delimited
        fields terminated by ','
    stored as parquet;
-- 提取csv2的数据插入到csv3
insert overwrite table csv3 select * from csv2;

总结

  • 关键是要引入org.apache.hadoop.hive.serde2.OpenCSVSerde
  • csv要保存到hiveparquet,需要先保存成textfile

以上就是Hive导入csv文件示例的详细内容,更多关于Hive导入csv文件的资料请关注三水点靠木其它相关文章!


Tags in this post...

数据库 相关文章推荐
oracle表分区的概念及操作
Apr 24 Oracle
MySQL 数据恢复的多种方法汇总
Jun 21 MySQL
SqlServer数据库远程连接案例教程
Jul 15 SQL Server
SQL实现LeetCode(175.联合两表)
Aug 04 MySQL
MySQL命令无法输入中文问题的解决方式
Aug 30 MySQL
MySQL对数据表已有表进行分区表的实现
Nov 01 MySQL
一文搞清楚MySQL count(*)、count(1)、count(col)区别
Mar 03 MySQL
基于Redis6.2.6版本部署Redis Cluster集群的问题
Apr 01 Redis
详解SQL的窗口函数
Apr 21 Oracle
分析SQL窗口函数之聚合窗口函数
Apr 21 Oracle
Redis数据同步之redis shake的实现方法
Apr 21 Redis
MySQL使用IF语句及用case语句对条件并结果进行判断 
Sep 23 MySQL
Hive HQL支持2种查询语句风格
Jun 25 #数据库
Hive日期格式转换方法总结
Jun 25 #数据库
PostgreSQL怎么创建分区表详解
Jun 25 #PostgreSQL
Mysql中的触发器定义及语法介绍
Jun 25 #MySQL
Hive常用日期格式转换语法
Jun 25 #数据库
MySQL数据库配置信息查看与修改方法详解
Jun 25 #MySQL
SQL语句中EXISTS的详细用法大全
Jun 25 #MySQL
You might like
我的论坛源代码(一)
2006/10/09 PHP
PHP表单验证的3个函数ISSET()、empty()、is_numeric()的使用方法
2011/08/22 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
php、mysql查询当天,查询本周,查询本月的数据实例(字段是时间戳)
2017/02/04 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
基于jQuery的仿flash的广告轮播
2010/11/05 Javascript
javascript 使用 NodeList需要注意的问题
2013/03/04 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
jQuery使用$.ajax进行即时验证实例详解
2015/12/11 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
Webpack执行命令参数详解
2017/06/17 Javascript
JS实现弹出下载对话框及常见文件类型的下载
2017/07/13 Javascript
js中split()方法得到的数组长度问题
2018/07/19 Javascript
Bootstrap模态对话框中显示动态内容的方法
2018/08/10 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
2018/08/18 Javascript
vue的keep-alive中使用EventBus的方法
2019/04/23 Javascript
vue使用一些外部插件及样式的配置代码
2019/11/18 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
jquery插件实现轮播图效果
2020/10/19 jQuery
Python 专题四 文件基础知识
2017/03/20 Python
python实现随机梯度下降法
2020/03/24 Python
Django使用中间键实现csrf认证详解
2019/07/22 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
Tensorflow 定义变量,函数,数值计算等名字的更新方式
2020/02/10 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
2分钟教你实现环形/扇形菜单(基础版)
2020/01/15 HTML / CSS
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
澳大利亚最大的护发和护肤品购物网站:RY
2019/12/26 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
光盘行动倡议书
2014/02/02 职场文书
青蓝工程实施方案
2014/03/27 职场文书
高中美术教学反思
2016/02/17 职场文书
公开致歉信
2019/06/24 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers