Hive导入csv文件示例

 更新时间:2022年06月23日 14:27:36   作者:鸭梨山大哎  
这篇文章主要为大家介绍了Hive导入csv文件示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

正文

现有文件为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文件的资料请关注脚本之家其它相关文章!

相关文章

  • MySQL mysqldump命令使用详解

    MySQL mysqldump命令使用详解

    MySQL有很多可以导入数据的方法,然而这些只是数据传输中的一半,另外的一般是从MySQL数据库中导出数据。有许多的原因我们需要导出数据。一个重要的原因是用于备份数据库。数据的造价常常是昂贵的,需要谨慎处理它们。
    2006-12-12
  • 新推出的金融版eXtremeDB 6.0功能改进预览

    新推出的金融版eXtremeDB 6.0功能改进预览

    这篇文章主要介绍了新推出的金融版eXtremeDB 6.0功能改进预览,如运用SQL, Python实现的基于矢量的统计功能、分布式的查询处理、市场数据压缩等内容,需要的朋友可以参考下
    2014-10-10
  • 详细讲解PostgreSQL中的全文搜索的用法

    详细讲解PostgreSQL中的全文搜索的用法

    这篇文章详细介绍了的PostgreSQL中的全文搜索的用法,包括对全文搜索的一些优化的实现,需要的朋友可以参考下
    2015-04-04
  • 利用SQL脚本导入数据到不同数据库避免重复的3种方法

    利用SQL脚本导入数据到不同数据库避免重复的3种方法

    这篇文章主要给大家介绍了关于利用SQL脚本导入数据到不同数据库避免重复的3种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • SQL WHERE IN参数化编译写法简单示例

    SQL WHERE IN参数化编译写法简单示例

    这篇文章主要给大家介绍了关于SQL WHERE IN参数化编译写法的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-11-11
  • SQL注入的四种防御方法总结

    SQL注入的四种防御方法总结

    SQL Injection是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,下面这篇文章主要给大家介绍了关于SQL注入的四种防御方法,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • SQL知识点之列转行Unpivot函数

    SQL知识点之列转行Unpivot函数

    这篇文章主要给大家介绍了关于SQL知识点之列转行Unpivot函数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SQL具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • SQLite快速入门指南

    SQLite快速入门指南

    这篇文章主要介绍了SQLite快速入门指南,作为开源的嵌入式数据库,SQLite可以在不需要过多投入数据库开发时提供十分轻便的服务,需要的朋友可以参考下
    2015-07-07
  • 数据库 关系连接

    数据库 关系连接

    数据库 关系连接,多表查询时需要用到的一些东西。
    2009-09-09
  • SQL注入篇学习之盲注/宽字节注入

    SQL注入篇学习之盲注/宽字节注入

    盲注是注入的一种,指的是在不知道数据库返回值的情况下对数据中的内容进行猜测,实施SQL注入,下面这篇文章主要给大家介绍了关于SQL注入篇之盲注/宽字节注入的相关资料,需要的朋友可以参考下
    2022-03-03

最新评论