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 07 MySQL
基于Redis实现分布式锁的方法(lua脚本版)
May 12 Redis
MySQL 重命名表的操作方法及注意事项
May 21 MySQL
Mysql效率优化定位较低sql的两种方式
May 26 MySQL
ORM模型框架操作mysql数据库的方法
Jul 25 MySQL
SQL实现LeetCode(176.第二高薪水)
Aug 04 MySQL
基于Redis结合SpringBoot的秒杀案例详解
Oct 05 Redis
详解MySql中InnoDB存储引擎中的各种锁
Feb 12 MySQL
实战 快速定位MySQL的慢SQL
Mar 22 MySQL
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
Apr 20 MySQL
redis protocol通信协议及使用详解
Jul 15 Redis
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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
收藏的PHP常用函数 推荐收藏保存
2010/02/21 PHP
php 记录进行累加并显示总时长为秒的结果
2011/11/04 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
什么是PEAR?什么是PECL?PHP中两个容易混淆的概念解释
2015/07/01 PHP
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
js 删除数组的几种方法小结
2014/02/21 Javascript
jQuery超酷平面式时钟效果代码分享
2020/03/30 Javascript
JS获取时间的相关函数及时间戳与时间日期之间的转换
2016/02/04 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
js实现炫酷的左右轮播图
2017/01/18 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
深入理解JavaScript创建对象的多种方式以及优缺点
2017/06/01 Javascript
vue项目中axios使用详解
2018/02/07 Javascript
es6新特性之 class 基本用法解析
2018/05/05 Javascript
浅谈JS对象添加getter与setter的5种方法
2018/06/09 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
vue.js高德地图实现热点图代码实例
2019/04/18 Javascript
配置一个vue3.0项目的完整步骤
2019/04/26 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python实现按中文排序的方法示例
2018/04/25 Python
python实现多层感知器
2019/01/18 Python
解决py2exe打包后,总是多显示一个DOS黑色窗口的问题
2019/06/21 Python
python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图
2020/08/04 Python
详解CSS3的opacity属性设置透明效果的用法
2016/05/09 HTML / CSS
Booking.com英国官网:全球酒店在线预订网站
2018/04/21 全球购物
JAKO-O德国野酷台湾站:德国首屈一指的婴幼童用品品牌
2019/01/14 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
为什么需要版本控制
2016/10/28 面试题
建筑公司员工自我鉴定
2014/04/08 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
副总经理党的群众路线教育实践活动个人对照检查材料思想汇报
2014/10/06 职场文书
Python3 类型标注支持操作
2021/06/02 Python
React实现动效弹窗组件
2021/06/21 Javascript
Redis过期数据是否会被立马删除
2022/07/23 Redis