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

数据库 相关文章推荐
MySQL主从搭建(多主一从)的实现思路与步骤
May 13 MySQL
新手必备之MySQL msi版本下载安装图文详细教程
May 21 MySQL
oracle覆盖导入dmp文件的2种方法
May 21 Oracle
MySQL大小写敏感的注意事项
May 24 MySQL
linux下导入、导出mysql数据库命令的实现方法
May 26 MySQL
MySQL 常见的数据表设计误区汇总
Jun 07 MySQL
MySQL GRANT用户授权的实现
Jun 18 MySQL
redis使用不当导致应用卡死bug的过程解析
Jul 01 Redis
MySQL中的隐藏列的具体查看
Sep 04 MySQL
centos8安装MongoDB的详细过程
Oct 24 MongoDB
解决MySQL Varchar 类型尾部空格的问题
Apr 06 MySQL
MySQL新手入门进阶语句汇总
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
DC《神奇女侠2》因疫情推迟上映 温子仁新恐怖片《恶性》撤档
2020/04/09 欧美动漫
基于mysql的bbs设计(五)
2006/10/09 PHP
php制作基于xml的RSS订阅源功能示例
2017/02/08 PHP
在php7中MongoDB实现模糊查询的方法详解
2017/05/03 PHP
深入研究PHP中的preg_replace和代码执行
2018/08/15 PHP
Js获取事件对象代码
2010/08/05 Javascript
JavaScript isArray()函数判断对象类型的种种方法
2010/10/11 Javascript
一个简单的Ext.XTemplate的实例代码
2012/03/18 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
nodejs 中模拟实现 emmiter 自定义事件
2016/02/22 NodeJs
JS获取地址栏参数的两种方法(简单实用)
2016/06/14 Javascript
BootStrap iCheck插件全选与获取value值的解决方法
2016/08/24 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
vue权限路由实现的方法示例总结
2018/07/29 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
layui 表单标签的校验方法
2019/09/04 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
[01:36:57]【09DOTA2第一视角】小骷髅
2014/04/16 DOTA
python异步任务队列示例
2014/04/01 Python
python查询mysql中文乱码问题
2014/11/09 Python
分析在Python中何种情况下需要使用断言
2015/04/01 Python
浅谈python import引入不同路径下的模块
2017/07/11 Python
Python打包方法Pyinstaller的使用
2018/10/09 Python
python bmp转换为jpg 并删除原图的方法
2018/10/25 Python
Python Pandas 转换unix时间戳方式
2019/12/07 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
ivx平台开发之不用代码实现一个九宫格抽奖功能
2021/01/27 HTML / CSS
Topshop法国官网:英国快速时尚品牌
2018/04/08 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
一个C/C++编程面试题
2013/11/10 面试题
晚会主持词开场白
2014/03/17 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
安娜卡列尼娜观后感
2015/06/11 职场文书
建国70周年的心得体会(2篇)
2019/09/20 职场文书
jdbc使用PreparedStatement批量插入数据的方法
2021/04/27 MySQL