hive

作者: zhan81649 | 来源:发表于2017-09-30 16:28 被阅读0次

1.下载序列化包

2.添加json序列化包 

add jar /Users/zhanxf/hadoop/hive/lib/json-serde-1.3.8-jar-with-dependencies.jar;

add jar /Users/zhanxf/hadoop/hive/lib/json-udf-1.3.8-jar-with-dependencies.jar;

3.建立hive表

DROP TABLE IF EXISTS item;

CREATE TABLE item

(

itemid STRING,

rating_normal INT,

offer_count INT,

rating_star FLOAT,

image STRING,

item_status STRING,

pop INT,

rating_bad INT,

promo_source INT,

model_discount INT,

mtime BIGINT,

price_before_discount INT,

rcount_with_context INT,

shopid STRING,

discount STRING,

touch_time BIGINT,

can_use_wholesale BOOLEAN,

sold INT,

show_discount INT,

sub_catid INT,

ctime BIGINT,

price_min_sp STRING,

distance INT,

name STRING,

attr_status STRING,

currency STRING,

country STRING,

liked BOOLEAN,

campaignid STRING,

show_official_shop_label_in_normal_position BOOLEAN,

flag INT,

stockout_time BIGINT,

third_catid INT,

is_pre_order BOOLEAN,

show_free_shipping BOOLEAN,

seller_promotionid BIGINT,

show_shopee_verified_label INT,

ads_keyword STRING

)

ROW FORMAT SERDE ‘org.openx.data.jsonserde.JsonSerDe'

STORED AS TEXTFILE;

LOAD DATA LOCAL INPATH "/Users/zhanxf/hadoop/test/item" OVERWRITE INTO TABLE item;

create table score(name string, score map)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY '\t'

COLLECTION ITEMS TERMINATED BY ','

MAP KEYS TERMINATED BY ':’;

PARTITIONED BY (country STRING, state STRING);

CREATE TABLE item3

(

itemid STRING,

rating_normal INT,

rating_count array,

models array>

)

ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'

STORED AS TEXTFILE;

结构体查询:select models[0].sku from item3;

复杂数据类型

ARRAY:

ARRAY类型是由一系列相同数据类型的元素组成,这些元素可以通过下标来访问。

MAP:

我们可以通过userlist['username']来得到这个用户对应的password;

STRUCT:

STRUCT可以包含不同数据类型的元素。这些元素可以通过”点语法”的方式来得到所需要的元素

UNION:

UNIONTYPE,他是从Hive 0.7.0开始支持的

基本数据类型

TINYINT    1byte,-128 ~ 127

SMALLINT    2byte,-32,768 ~ 32,767

INT    4byte,-2,147,483,648 ~ 2,147,483,647

BIGINT    8byte,-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

BOOLEAN

FLOAT    4byte单精度

DOUBLE    8byte双精度

STRING

BINARY         从Hive0.8.0开始支持

TIMESTAMP         从Hive0.8.0开始支持

DECIMAL         从Hive0.11.0开始支持

CHAR         从Hive0.13.0开始支持

VARCHAR         从Hive0.12.0开始支持

DATE         从Hive0.12.0开始支持

文件存储格式

RCFILE

行列存储相结合的方式。一行的文件在同一块上,避免跨块读取。块上数据按列存储,便于压缩和快速的列存取。

SEQUENCEFILE

SequenceFile是一种二进制文件,其具有使用方便、可分割、可压缩的特点。

压缩选择:NONE, RECORD, BLOCK。 Record压缩率低,一般建议使用BLOCK压缩。

配置项:hive.exec.compress.output=true

io.seqfile.compression.type=BLOCK

TEXTFILE

默认格式,数据不做压缩,磁盘开销大,数据解析开销大,但使用这种方式,hive不会对数据进行切分,从而无法对数据进行并行操作

自定义格式

用可以通过实现inputformat和outputformat来自定义输入输出格式

相关文章

  • 数据仓库Hive

    Hive产生背景 Hive概述 HIve体系架构 Hive部署架构 Hive和RDBMS区别 Hive部署以及快速...

  • 数据查询-Hive基础

    outline 什么是Hive 为什么需要Hive Hive的架构 Hive的常用操作 什么是Hive Hive由...

  • 大数据知识 | hive初识

    hive简介 hive架构 hive是什么 官网这样说:https://hive.apache.org/ hive...

  • Hive | Hive 安装详解

    一、Hive 介绍 二、准备工作 三、Hive下载 四、Hive 安装 五、Hive 启动 一、Hive 介绍 H...

  • Hive日常使用

    hive 创建表: hive 执行: =========================hive 调用Python...

  • Hive常用的几种交互操作

    查看hive下的交互命令方式 -help(hive 外) 命令:bin/hive -helpusage: hive...

  • 【Hive】

    Hive的安装 Hive官网地址 http://hive.apache.org/[http://hive.apac...

  • Hive进阶

    hive配置,命令 hive查询显示列名 hive默认分隔符 \001 hive命令行中查看当前hive环境变量 ...

  • Hive 入门

    Hive官网 Hive概述 Hive 的底层执行引擎有 :MapReduce,Tez,Spark- Hive on...

  • 大数据开发之Hive优化篇2-Hive的explain命令

    备注:Hive 版本 2.1.1 一.Hive explain命令概述 Hive的explain命令用来看Hive...

网友评论

      本文标题:hive

      本文链接:https://www.haomeiwen.com/subject/bofnextx.html