Hive 的 CSV Serde介绍和使用

Hive 的 CSV Serde介绍和使用

CSV格式的文件也称为逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号。在本文中的CSV格式的数据就不是简单的逗号分割的),其文件以纯文本形式存储表格数据(数字和文本)。


CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。
通常,所有记录都有完全相同的字段序列。

默认的分隔符是

分隔符:DEFAULT_SEPARATOR        ,

引号符:DEFAULT_QUOTE_CHARACTER  "

转义符:DEFAULT_ESCAPE_CHARACTER \

  
可以通过separatorChar、quoteChar以及escapeChar指定数据的分割。

1、建表:

hive> CREATE TABLE csv1_table(a string, b string)
    > ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    > WITH SERDEPROPERTIES (
    >    "separatorChar" = ",",
    >    "quoteChar"     = "'",
    >    "escapeChar"    = "\\"
    > )
    > STORED AS TEXTFILE;
OK
Time taken: 1.151 seconds



2、加载数据:

hive> load data local inpath "/usr/local/haha.csv" into table csv1_table;
Loading data to table default.csv1_table
Table default.csv1_table stats: [numFiles=1, totalSize=63]
OK
Time taken: 1.125 seconds


3、查询表数据:

hive> select a,b from csv1_table;
OK
hadoop  hadoop
hive    hive
hbase   hbase
solr    solr
redis   redis
Time taken: 0.077 seconds, Fetched: 5 row(s)
hive>



//例子举得不好,两列数据相同了
hive> select b,a from csv1_table;
OK
hadoop  hadoop
hive    hive
hbase   hbase
solr    solr
redis   redis
Time taken: 0.162 seconds, Fetched: 5 row(s)
hive> select * from csv1_table;
OK
hadoop  hadoop
hive    hive
hbase   hbase
solr    solr
redis   redis
Time taken: 0.147 seconds, Fetched: 5 row(s)
hive>



CSV的数据如下:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值