背景

hive 中有一张待处理的分区表,存储的方式是parquet,处理之后的目标表是一张非分区的外部表,并且分隔方式为 “,”。

问题

部分记录的 int 类型字段 出现 null 情况

表结构

原表结构

CREATE EXTERNAL TABLE adm_v1.adm_cms_flow_daily( url string, title string, courseeduid string, courseeduname string, catalogid string, catalogname string, innercode string, adduser string, addtime string, original string, pv string, uv string, downuv string, downpv string, platform string, areaid string ) PARTITIONED BY ( dn string, dt string) stored as parquet TBLPROPERTIES ('parquet.compression'='gzip');

目标表结构

CREATE EXTERNAL TABLE tmp_v1.tmp_zdh_test_biz_cms_flow_tmp_v4( dt string, dn BIGINT, addtime BIGINT , adduser string, innercode string, url string, title string, original BIGINT, timestamp TIMESTAMP, pv BIGINT, uv BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' ;

处理语句

insert overwrite table tmp_v1.tmp_zdh_test_biz_cms_flow_tmp_v4 select from_unixtime(unix_timestamp(dt,'yyyyMMdd'),'yyyy-MM-dd') as dt,case dn when 'acc' then 1 when 'jianshe' then 2 when 'med' then 3 else 4 end as dn1,addtime,adduser,innercode,url,title,cast(original as bigint ),from_unixtime(unix_timestamp(),'yyyy-MM-dd HH:mm:ss'),cast(pv as bigint),cast(uv as bigint) from adm_v1.adm_cms_flow_daily where dn='acc' and dt='20201110' and addtime='20201110' ;

问题展示

原表中的original 字段 存在 1 的值

导入到tmp_v1.tmp_zdh_test_biz_cms_flow_tmp_v4表之后 original 字段变为null 值

问题分析/定位

将有问题的记录取出,观察数据,要特别注意一下original 的前一个字段是title,title 中可能存在逗号影响目标表的存储。

查询原表中记录

查询目标中记录

从上面两个查询结果对比可以看出,title 字段在逗号的位置被截断了。这样问题就找到了,替换目标表的分隔符为 u0001。 重新观察

CREATE EXTERNAL TABLE tmp_v1.tmp_zdh_test_biz_cms_flow_tmp_v8( dt string, dn BIGINT, addtime BIGINT , adduser string, innercode string, url string, title string, original BIGINT, pv BIGINT, uv BIGINT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY 'u0001' ;

问题解决。

引出的问题

最后一列跑哪去了?

测试:最后两列是pv、uv,从下图看出来,最后一列被舍弃了。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

hive 指定字段插入数据_Hive 表之间数据处理,Int 类型字段部分字段出现 NULL情况...相关推荐

  1. mysql 字段写入_MySQL为数据表的指定字段插入数据

    username not null 没有默认值/有默认值   insert不插入username字段 均不报错 2014年07月23日21:05    百科369 MySQL为数据表的指定字段插入数据 ...

  2. 在PPT中插入数据透视表(数据透视图)

    在PPT制作过程中,有时需要插入EXCEL中常用的数据透视表(数据透视图) 下面说一下方法:(以office2007为例) 首先,在EXCEL中选中要进行数据分析的数据区域,并定义区域名称.这里我们取 ...

  3. Excel插入数据透视表,实现合并同类项(office2007)

    要实现对下表的同类项进行合并(office2007) 新打开一个Excel点击,"插入"->数据透视表 在选择表中,选择需要进行合并的数据 在右侧选择显示的信息

  4. Excel 数据透视表教程大全之 08 创建计算字段,将销售额除以数量实现计算每种产品单价(教程含数据)

    标准数据透视表具有创建计算字段的简单功能.您可以将计算字段视为源数据中的虚拟列.计算字段将出现在字段列表窗口中,但不会占用源数据中的空间.在所示示例中,已使用将销售额除以数量的公式创建了一个名为&qu ...

  5. excel透视表无添加字段_为内部字段添加数据透视表小计

    excel透视表无添加字段 How was your weekend weather? We had a mini-blizzard yesterday, that covered the backy ...

  6. mysql longblob 读取_MySQL数据库之Mysql的longblob字段插入数据问题解决

    本文主要向大家介绍了MySQL数据库之Mysql的longblob字段插入数据问题解决 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 在使用mysql的过程中,有个问题就是my ...

  7. 数据透视表(合并同类型数据求和)

    1.选中需要分析的数据列 2.插入-数据透视表 3.名称想拖入行.求和项如值,下拉倒三角设置值字段为求和 4.结果如图

  8. hive 指定字段插入数据_为hive增加列存储

    为hive增加列存储应该算是我在hive上进行的第一个比较大的尝试. 目前已经实现对列表的INSERT操作. 在这一周时间里,我对hive的理解更加的深入. 废话不说,下面开始介绍下hive的列存储功 ...

  9. hive 分区表select全部数据_Hive分区表实战

    1. Hive分区表Partition和Bucket,为了提升查询效率,前者是粗粒度的划分,后者是细粒度的划分. 建表语句中使用partitioned by指定分区字段 分区表有静态分区和动态分区两种 ...

最新文章

  1. highcharts加载数据库数据(java版)
  2. excel2010设置列宽为像素_怎么改变Excel中列宽的像素
  3. C#显示百度地图API
  4. 打包无法识别lombok
  5. 给出TREE_INSERT过程的非递归版本(算法导论第三版12.3-1)
  6. android 保活方案_Android 后台保活手段总结 (上篇)
  7. C#LeetCode刷题之#532-数组中的K-diff数对(K-diff Pairs in an Array)
  8. pattern in java_Java里的生产者-消费者模型(Producer and Consumer Pattern in Java)
  9. Eclipse添加git插件上传项目到github
  10. java批量导入和批量删除_MyBatis 实现批量插入和删除中双层循环的写法案例
  11. 爬虫python编程与cvi编程_编程小白如何写爬虫程序
  12. 易语言教你制作onoQQ机器人
  13. android 免 root修改位置打卡
  14. npoi 删除多行 操作excel_使用NPOI导出Excel ICell调用过剩 内存溢出
  15. SpringSecurity实战(三)-整合SpringSession-Redis
  16. swagger工具编写接口文档
  17. 通信领域相关的英语缩略语
  18. 复旦大学2018--2019学年第二学期(18级)高等代数II期末考试第六大题解答
  19. Windows游戏开发学习一 —— WinMain函数
  20. java 浮雕效果_android 图像处理(黑白,模糊,浮雕,圆角,镜像,底片,油画,灰白,加旧,哈哈镜,放大镜)...

热门文章

  1. 1.1 Java流是什么?输入/输出流又是什么?
  2. ACM入门之【线段树习题】
  3. 142. 前缀统计【trie】
  4. 2021算法竞赛入门班第八节课【数学】习题
  5. 1116 c语言竞赛 (20 分)【难度: 一般 / 知识点: 模拟】
  6. 1070 Mooncake (25 分)【难度: 简单 / 知识点: 贪心】
  7. 数据查询语言(DQL)
  8. 电脑怎么连蓝牙耳机_魅族蓝牙耳机POP2说明书 魅族蓝牙耳机POP2怎么样
  9. 牛X,这次Windows太给力了!!!
  10. springmvc教程--RESTful支持详解