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...

数据库 相关文章推荐
SQL Server基本使用和简单的CRUD操作
Apr 05 SQL Server
详解mysql三值逻辑与NULL
May 19 MySQL
MySQL通过binlog恢复数据
May 27 MySQL
MySQL高速缓存启动方法及参数详解(query_cache_size)
Jul 01 MySQL
使用Redis实现实时排行榜功能
Jul 02 Redis
MySQL千万级数据表的优化实战记录
Aug 04 MySQL
浅谈Redis跟MySQL的双写问题解决方案
Feb 24 Redis
Oracle使用别名的好处
Apr 19 Oracle
单机多实例部署 MySQL8.0.20
May 15 MySQL
SQL Server中锁的用法
May 20 SQL Server
SQL Server使用CROSS APPLY与OUTER APPLY实现连接查询
May 25 SQL Server
MySQL数据库表约束讲解
Jun 21 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
适用于php-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
解析ajax事件的调用顺序
2013/06/17 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
微信公众平台开发教程⑥ 微信开发集成类的使用图文详解
2019/04/10 PHP
Laravel 之url参数,获取路由参数的例子
2019/10/21 PHP
Javascript 作用域使用说明
2009/08/13 Javascript
关于捕获用户何时点击window.onbeforeunload的取消事件
2011/03/06 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
基于javascript实现文字无缝滚动效果
2016/03/22 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
基于vue监听滚动事件实现锚点链接平滑滚动的方法
2018/01/17 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
JQuery中DOM节点的操作与访问方法实例分析
2019/12/23 jQuery
JS this关键字在ajax中使用出现问题解决方案
2020/07/17 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
2020/07/19 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
Pycharm 设置自定义背景颜色的图文教程
2018/05/23 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
Pandas数据离散化原理及实例解析
2019/11/16 Python
Python 实现将numpy中的nan和inf,nan替换成对应的均值
2020/06/08 Python
一些.net面试题
2014/10/06 面试题
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
学校党的群众路线教育实践活动总结材料
2014/10/30 职场文书
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android
Mybatis-Plus 使用 @TableField 自动填充日期
2022/04/26 Java/Android