Hive 导入csv文件,数据中包含逗号的问题

这篇具有很好参考价值的文章主要介绍了Hive 导入csv文件,数据中包含逗号的问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题

今天 Hive 导入 csv 文件时,开始时建表语句如下:

CREATE TABLE IF NOT EXISTS test.student (
    name STRING COMMENT '姓名',
    age STRING COMMENT '年龄',
    gender STRING COMMENT '性别',
    other_info STRING COMMENT '其他信息'
)
COMMENT '学生信息表'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ','
STORED AS TEXTFILE;

然后导入 csv 文件,发现数据串列了,查看数据发现是因为数据中包含逗号的问题,因为 csv 文件列分隔符就为逗号,所以直接导入到表中会使数据串列。

解决办法

查询资料发现是建表语句的问题,所以我们要需要在建表的时候指定列包围符号。如下:

CREATE TABLE IF NOT EXISTS test.student (
    name STRING COMMENT '姓名',
    age STRING COMMENT '年龄',
    gender STRING COMMENT '性别',
    other_info STRING COMMENT '其他信息'
)
COMMENT '学生信息表'
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
    'separatorChar' = ',',
    'quoteChar' = '"',
    'escapeChar' = '\\'
)
STORED AS TEXTFILE;

使用 OpenCSVSerde 作为数据序列化程序,并通过 SERDEPROPERTIES 指定 separatorChar(分隔符)和 quoteChar(引号包围符号)以及 escapeChar (转义字符)的值。

默认 csv 文件的分隔符、引号和转义字符(如果未指定)文章来源地址https://www.toymoban.com/news/detail-675342.html

DEFAULT_ESCAPE_CHARACTER \
DEFAULT_QUOTE_CHARACTER  "
DEFAULT_SEPARATOR        ,

到了这里,关于Hive 导入csv文件,数据中包含逗号的问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一百三十三、Hive——Hive外部表加载含有JSON格式字段的CSV文件数据

    在Hive的ODS层建外部表,然后加载HDFS中的CSV文件数据 注意 :CSV文件中含有未解析的JSON格式的字段数据,并且JSON字段中还有逗号 JSON数据的字段track_data只显示一部分数据,因为JSON格式数据里面也含有逗号 [{\\\"id\\\":\\\"14\\\",\\\"length\\\":5.0,\\\"height\\\":3.0,\\\"posX\\\":63.0,\\\"posY\\\":37.0,\\\"acs\\\":99.0,\\\"angle\\\":83.0,\\\"alti

    2024年02月16日
    浏览(45)
  • Hive数据导出为csv、tsv文件的几种方法

    Hive数据导出csv,tsv 第一种(推荐) PS: ‘|tr “t” “,”’ 将数据分隔符 制表符 替换为 “,”. hive在hdfs中存储可能是\\001分割,替换t即可. 数据中包含\\\",\\\"会导致.csv文件不能正确解析.这时建议改为.tsv文件(制表符分割). hdfs中== 空值 采用 N 存储,可以使用 |tr -d “\\\\N” 变为正

    2024年02月15日
    浏览(41)
  • hive使用文件方式批量导入数据

    1. 创建表,确定分隔符,换行符: 2. 编写数据文件: 3. 查看此表所在路径:describe extended 表名; 4. 将本地生成好的数据上传至服务器 5. 将生成的txt文件put进HDFS集群 /hive/warehouse/mdp_uat.db/test : 集群路径,第三部查询到的表路径(提前使用 hadoop fs -ls 查看下路径,确认路径正确

    2024年02月13日
    浏览(39)
  • 将Parquet文件的数据导入Hive 、JSON文件导入ES

    主要利用社区工具 https://github.com/apache/parquet-mr/ 编译cli工具 查看元数据信息 查询抽样数据 parquet 和 hive 的 field 类型映射关系 parquet 字段类型 hive 字段类型 BINARY STRING BOOLEAN BOOLEAN DOUBLE DOUBLE FLOAT FLOAT INT32 INT INT64 BIGINT INT96 TIMESTAMP BINARY + OriginalType UTF8 STRING BINARY + OriginalType DECI

    2024年02月08日
    浏览(48)
  • Hive 表 DML 操作 第1关:将文件中的数据导入(Load)到 Hive 表中

    相关知识 之前系列实训中我们接触过导入本地文件到 Hive 表中,本关就进行导入的详细讲解。 为了完成本关任务,你需要掌握:1.导入命令语法,2.如何将本地 txt 文件导入到分区表中。 导入命令语法 Load 操作执行 copy/move 命令把数据文件 copy/move 到 Hive 表位于 HDFS 上的目录位

    2024年02月01日
    浏览(44)
  • Hive实战练习(包含数据集)

    数据集直链下载(100MB): https://www.123pan.com/s/T1n0Vv-mTc3d 1.创建数据库 2.切换到数据库 3.创建原始数据表:gulivideo,gulivideo_user 4.上传数据到hdfs 3.1统计视频观看数 Top10 3.2统计视频类别热度 Top10 (1)即统计每个类别有多少个视频,显示出包含视频最多的前 10 个类别。 (2)我

    2024年02月16日
    浏览(39)
  • sqoop(DataX)-MySQL导入HIVE时间格问题

    用公司的大数据平台(DataX)导数,已经开发上线一个多月的一批报表,突然有同事说有个报表数据不准。出在时间字段上。 分析: 1、先看了原数据MySQL字段类型为datetime,目标字段为timestamp类型; 2、经发现所有时间的差距都是8小时,怀疑是因为时区转换的原因; 3、对比其他

    2024年02月02日
    浏览(47)
  • hive的数据导入

    1.1 向表中装载数据(Load) 1)语法 (1)load data:表示加载数据。 (2)local:表示从本地加载数据到Hive表;否则从HDFS加载数据到Hive表。 (3)inpath:表示加载数据的路径。 (4)overwrite:表示覆盖表中已有数据,否则表示追加。 (5)intotable:表示加载到哪张表。 (6)stu

    2024年02月13日
    浏览(37)
  • hive表导入外部数据

    生成1亿条数据到文件 data_gen_multi_proc_xxxx.txt 中,cpu8核耗时4min左右 这里不细说具体格式,可以通过hive基础知识进行学习。 Hive基础学习_hive在线学习_程序员的人生K的博客-CSDN博客 Hive超详细介绍_hive中reducer什么意思_「已注销」的博客-CSDN博客 *或者通过其他hive表进行insert ..

    2024年02月16日
    浏览(34)
  • hive数据的导入导出

    Linux本地文件以及数据格式: 在hive中创建表: stored as常见的几种格式 1. TextFile:使用TextFile格式存储的表将数据以文本文件的形式进行存储。这是最常用的默认存储格式。 2. SequenceFile:使用SequenceFile格式存储的表将数据以键-值对的形式存储,适用于数据压缩和高效读取。

    2024年02月12日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包