csv文件的存储格式以及hive读取表的时候运行结果

概述

逗号分隔值(Comma-Separated Values,CSV,有时成为字符分隔值)。
其文件以纯文本形式存储表格数据(数字和文本),文件的每一行都是一个数据记录。
每个记录由一个或多个字段组成,用逗号分隔。使用逗号作为字段分隔符是此文件格式的名称的来源,因为分隔字符也可以不是逗号,有时也称为字符分隔值。
CSV 广泛用于不同体系结构的应用程序之间交换数据表格信息,解决不兼容数据格式的互通问题。一般按照传输双方既定标准进行格式定义,而其本身并无明确格式标准。

参考链接:https://www.jianshu.com/p/23e38ff6bd79

 文件采用纯文本存储,需要使用某个字符集(ASCII、Unicode、UTF-8等
 数据由记录组成(一般是每一行一条记录)    
 每条记录被分隔符分为一个个字段(常用的分隔符有 ',''\t'' '';'等) 
 每条记录都有同样的字段序列 `` 

优点

由于 CSV 文件格式的特性。
CSV 格式的文件可以用 Excel 和 WPS 等表格工具以表格的形式打开,便于查看和编辑。

缺点

由于 CSV 文件格式没有严格的标准(实际上可以认为没有标准),会造成使用不同的工具打开时会有不同程度的乱码问题。
(你本地的 Excel 和 WPS 打开同一个 CSV 文件,往往显示的情况会不一样。甚至同一个 Excel 软件的不同版本,也会显示不一样的结果)
所以进行一些约定很重要。

CSV 文件解析的关键点

字符集:由于文件是采用纯文本存储的,不同字符集对每个字符的存储方式不一样。需要统一采用一个字符集才能很好的进行兼容。(关于常用的 ASCII、Unicode、UTF-8 字符集可以看一下这个ASCII、Unicode、UTF-8)
分隔符:一般常用的是 ‘,’(逗号分隔符)。但是有些 CSV 文件需要存储文章句子信息等,这些信息 ‘,’ 符是常用字符,容易造成解析出错或者解析方法复杂。可以选用 ‘^’ / ‘\t’ 等不常用的字符作为分隔符。应用途而异,具体问题具体分析。
记录分隔:一般来说以一行为一条记录,那么记录与记录之间就是常用"换行符"进行分隔的?这里就需要看一下附录:回车符 CR 与换行符 LF 的行末结束符之争。
空字段:我们常使用 CSV 文件当做表格来处理,那么表格显然存储某些字段为空的情况。这种情况下需要注意保留两个分隔符,表示一段空字段。

在这里插入图片描述
指定分隔符后得到的结果

drop table if exists dim_channel;
create external table dim_channel (
 channel string ,
 name string
)
row format delimited fields terminated by ','
location '/data_coffe/ods/dim_channel'

在这里插入图片描述

发布了23 篇原创文章 · 获赞 27 · 访问量 2268

猜你喜欢

转载自blog.csdn.net/MyNameIsWangYi/article/details/102776381