`

hive 字段间隔的一些说明

    博客分类:
  • hive
 
阅读更多

 

 

hive的列间隔需要在创建表的时候指定,通过 ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

来指定,上面是用,来间隔,

而默认情况下 hive使用\001做列的间隔(列间隔就是说在hdfs中字段之间用什么符号间隔)

而工作中,最经常使用 \t方式间隔,原因就是间隔后在hdfs文件中存储的列间隔规范,用肉眼看很容易区分

哪里是哪里

 

看如下脚本,其中表

f_trademark_tmp_hdfs_ext_%CHINDAASDATE%

liuchengtmp1_%CHINDAASDATE%

f_markimage_tmp_hdfs_ext_%CHINDAASDATE%

 

都是用,间隔的, 如下创建表语句 无法增加字段间隔 ,创建好表后 字段间隔为默认 \001

 

 

create table ftrademarktmp_%CHINDAASDATE% as 
select 
 a.markcode ,
 a.appperson ,
 a.addr ,
 a.markname ,
 trim(substr(a.typedetaildes,4000))  typedetaildes,
 a.begindate ,
 a.enddate ,
 a.CHECKDATE ,
 a.status ,
 a.appdate ,
 a.regdate ,
 a.ZIPCODE ,
 b.xiangmu_new ,
 c.markimage ,  
 case when a.begindate is not null and a.enddate >= %current_date% and instr(hivenvl(a.status,'未知'),'无效')=0 then 'R商标'
   when a.begindate is not null and instr(a.status,'无效')>0 or instr(a.status,'注销')>0 then '过期商标'
   when a.enddate < %current_date% then '过期商标'
   when a.begindate is not null and (instr(a.status,'无效')>0 or instr(b.xiangmu_new,'无效')>0) then '无效(被否)商标' 
  when a.begindate is null then 'TM商标'
   else '未知'
 end MARKTYPE_NEW
from f_trademark_tmp_hdfs_ext_%CHINDAASDATE% a
left outer join liuchengtmp1_%CHINDAASDATE% b
on a.markcode = b.markcode
left outer join f_markimage_tmp_hdfs_ext_%CHINDAASDATE% c
on a.markcode = c.markcode
order by a.appdate ;

 

 

 如果好奇 Hive 用间隔后数据的样子,可以找到hive表对应的hdfs文件,然后拖到window下用

notepad++打开,如下

 

 这是以,间隔的hive数据在hdfs的样子:



 

 

 

这是以 \001 默认值方式的结果:



 

 

 

 

 

 

  • 大小: 24.1 KB
  • 大小: 33.4 KB
分享到:
评论

相关推荐

    Hive中分组取topN_row_number-rank和dense_rank的使用.pdf

    根据文档提供的内容,我们首先需要创建一个名为employee的数据表,该表包含empid(员工ID)、deptid(部门ID)和salary(薪资)三个字段。其中,薪资数据类型为decimal,表示它允许小数点的存在。之后,通过一系列的...

    hive数据类型共6页.pdf.zip

    - **STRUCT, field2 type2, ...&gt;**:结构体,包含多个字段,每个字段有自己的数据类型。 - **UNIONTYPE, T2, ..., Tk&gt;**:联合类型,可以是多个其他数据类型中的任一种。 3. **日期和时间数据类型**: - **DATE*...

    Hive数据仓库-任务6.pdf

    DATE用于日期,TIMESTAMP则精确到纳秒的时间戳,INTERVAL表示时间间隔。 复杂数据类型包括ARRAY、MAP和STRUCT。ARRAY是一个有序的字段集合,所有元素都具有相同的类型。MAP则为无序的键值对,键是原子类型,值可以...

    数据仓库之数据质量建设方案.pdf

    1. 数据完整性:数据信息是否存在缺失的状况,数据缺失的情况可能是整个数据记录缺失,也可能是数据中某个字段信息的记录缺失。 2. 数据规范性:描述数据遵循预定的语法规则的程度,是否符合其定义,例如数据的类型...

    IntervalPartitioning:作业2-算法设计

    - **Apache Hadoop和Hive**:在大数据处理框架中,间隔分区常用于HDFS和Hive表,通过HQL语句实现。 - **NoSQL数据库**:MongoDB、Cassandra等NoSQL数据库也支持类似分区策略,但实现方式可能有所不同。 6. **挑战...

    华为认证考试大数据模拟试题60道含答案-HCIA-Big-Data.docx

    - **知识点**:传统数据库遵循“先有模式后有数据”的原则,即首先定义数据库的逻辑结构(如表结构、字段类型等),然后根据这些结构录入数据。而在大数据场景下,由于数据量巨大且种类繁多,通常采用“先有数据后有...

    点击流日志实现预处理代码

    预处理后的数据通常会被存入适合大数据处理的系统,如Hadoop HDFS、NoSQL数据库(如MongoDB)、数据仓库(如Hive)或分布式文件系统(如Spark的DataFrame)。 8. 数据预处理代码实现: 实现预处理代码可能涉及...

    199-长安益阳发电有限公司项目建设方案.docx

    - 支持MySQL、Oracle、SQL Server、PolarDB、PostgreSQL等主流数据库通过日志、间隔轮训两种方式实时采集。 - 支持用户选择Insert、Update、Delete数据操作进行日志采集。 - 支持实时数据写入HDFS、Kafka、Hive、...

Global site tag (gtag.js) - Google Analytics