
Hive
汀桦坞
努力不是疲惫憔悴,而是眼里有光
展开
-
Hive中Database、Table的创建与查询
说明:本文示例中给出的是完整的建库和建表语句,实际中可以不包含全部的关键字。数据库的创建与查询:CREATE DATABASE IF NOT EXISTS financialsCOMMENT 'Holds all financial tables'LOCATION '/usr/hive/warehouse/financials.db'WITH DBPROPERTIES ('creator' ...原创 2018-06-05 20:27:42 · 3876 阅读 · 0 评论 -
使用sqoop导出mysql数据时错误处理【com.mysql.jdbc.RowDataDynami】
故障现象在HDP sandbox中使用sqoop导出mysql数据报错18/06/24 07:03:31 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.18/06/24 07:03:31 INFO tool.CodeGenTool: Beginning code generation18/06/2...原创 2018-06-24 16:15:27 · 2400 阅读 · 0 评论 -
Hive查看表的分区字段
查询某个表的分区信息:SHOW PARTITIONS employee;查看某个表是否存在某个特定分区键SHOW PARTITIONS employee PARTITION(country='US') DESCRIBE EXTENDED employee PARTITION(country='US')【SHOW命令的其它用法:展示所有表:SHOW TABLES】查询表信息:DESCRIBE EXT...原创 2018-06-10 16:46:58 · 23410 阅读 · 0 评论 -
Hive时间戳TIMESTAMP使用的限制
在Hive中提供了字段类型TIMESTAMP,但其对应的时间格式为yyyy-MM-dd HH:MM:SS,即通过LOAD命令将文本加载到已创建的表中时,只有满足上述格式的内容才可以被正确解析,否则只能识别为NULL。1. 创建表。create table airline ( Yyear double, Tt double, W double, R double, L do...原创 2018-06-10 16:52:04 · 34276 阅读 · 3 评论 -
SQOOP 导出Hive数据到MySQL
基本知识:Sqoop导出的基本用法:https://sqoop.apache.org/docs/1.4.6/SqoopUserGuide.html#_syntax_4 的10. sqoop-export内容摘要:本文主要是对--update-mode参数的用法进行了验证。结论如下:--update-mode模式有两种updateonly(默认)和allowinsertupdateonly:该模式...原创 2018-07-08 12:31:52 · 64960 阅读 · 10 评论 -
sqoop导出数据时如何选择update-key
在增量导出模式下,无论是allowinsert模式还是updateonly模式,都需要设置update-key:Ø allowinsert模式:该模式下生成的是insert语句,从这个角度讲update-key是没有作用的,但是在CDH Sandbox上测试时发现,如果不指定update-key则会导致reduce执行失败。Ø updateonly模式:该模式下生成的是update语句,upd...原创 2018-07-09 21:10:48 · 9556 阅读 · 0 评论 -
Hive从一个表向另一个表插入数据的注意事项
使用insert into table <table_name> select语句执行数据迁移时,必须保证前后两个表字段数量一致。测试场景:当前存在表wht_test1,表结构以及数据如下所示:测试步骤1.创建表wht_test2,并在末尾增加一个字段。create table if not exists wht_test2 like wht_test1;a...原创 2018-07-16 21:29:14 · 16994 阅读 · 0 评论 -
Sqoop导出模式——全量、增量insert、更新update的介绍以及脚本示例
背景信息SQOOP支持直接从Hive表到RDBMS表的导出操作,也支持HDFS到RDBMS表的操作,当前需求是从Hive中导出数据到RDBMS,有如下两种方案:Ø 从Hive表到RDBMS表的直接导出:该种方式效率较高,但是此时相当于直接在Hive表与RDBMS表的数据之间做全量、增量和更新对比,当Hive表记录较大时,或者RDBMS有多个分区表时,无法做精细的控制,因此暂时不考虑该方案。Ø ...原创 2018-07-10 20:32:08 · 20820 阅读 · 0 评论 -
Hive Union操作中的隐式转换
语法:select_statement UNION [ALL | DISTINCT] select_statement UNION [ALL | DISTINCT] select_statement …用来合并多个select的查询结果,需要保证select中字段须一致,每个select语句返回的列的数量和名字必须一样,否则,一个语法错误会被抛出。从语法中可以看出UNION有两个可选的...原创 2018-07-20 19:32:41 · 656 阅读 · 0 评论 -
Hive中时间格式的转换
将某种格式的时间转换为Unix时间戳select unix_timestamp('20180531 13:01:01','yyyyMMdd HH:mm:ss') ;将Unix时间戳转换为指定格式的时间SELECT from_unixtime(unix_timestamp(),'yyyy/MM/dd HH:mm:ss');不同时间格式之间的相互转换SELECT from_unixtime(unix_...原创 2018-06-16 14:51:11 · 2169 阅读 · 0 评论 -
Sqoop增量导入验证(Lastmodified)
核心参数–check-column 用来指定一些列,这些列在增量导入时用来检查这些数据是否作为增量数据进行导入,和关系型数据库中的自增字段及时间戳类似. 注意:这些被指定的列的类型不能使任意字符类型,如char、varchar等类型都是不可以的,同时–check-column可以去指定多个列–incremental 用来指定增量导入的模式,两种模式分别为Append和Lastmodified–la...原创 2018-06-23 19:10:16 · 3618 阅读 · 0 评论 -
查看PostgreSQL实际数据存储类型
SELECT col.ordinal_position, col.column_name , col.udt_name , col.character_maximum_length, col.nume...原创 2018-06-22 20:35:40 · 2612 阅读 · 0 评论 -
Hive中NULL的含义
在Hive中,NULL表示的是异常,与null不同,文件中的null在Hive中被认为字符串,如果对应的字段类型是字符类的,如string,则将其视为一个普通的字符串,而对于数据类的,则若数据本身是null,则由于无法转换为数值,则会显示NULL。此外,Hive无法实现对NULL数据的过滤。Hive为读时模式,其在读取时将存储的实际值转化为schema中定义的数据类型,当转换失败时对应值显示为NU...原创 2018-06-20 20:19:39 · 5690 阅读 · 4 评论 -
SQOOP对分隔符支持情况的验证
本文使用Sqoop从MySQL向Hive导入数据,测试对各种分隔符场景的支持情况。1.1 Sqoop支持的场景本节测试使用的MySQL数据如下图所示:1.1.1 测试是否支持tab字符Sqoop脚本:./sqoop import --connectjdbc:mysql://192.168.0.151:3306/wht --username root --password root --tablep...原创 2018-06-06 18:59:13 · 3903 阅读 · 0 评论 -
SQOOP 导出SQL SERVER中数据
从SQL Server导出数据到HDFSsqoop import --connect 'jdbc:sqlserver://192.168.20.105:1433;databasename=dep' --username sa --password Server2008! --table test_table --fields-terminated-by '\001' --target-dir /...原创 2018-06-13 20:57:47 · 1195 阅读 · 0 评论 -
Hive中外部表的alter与drop操作的最低权限要求
Hive中外部表的alter与drop操作的最低权限要求:操作类型 目录权限 数据权限 alter(如修改location) Read 、write 0 Drop Read 0 Select Read Read原创 2018-06-21 17:40:42 · 1286 阅读 · 0 评论 -
SQOOP抽取各类型数据库脚本示例
------------MySQL------------导入到HDFSsqoop import --connect jdbc:mysql://localhost:3306/wht --username root --password cloudera --table people --fields-terminated-by ',' --target-dir /user/hive/warehou...原创 2018-06-21 23:26:46 · 2713 阅读 · 0 评论 -
DB2中查看表结构
在DBVisualizer 中查看DB2中表的结构信息。@desc <tablename>原创 2018-06-22 14:16:27 · 23290 阅读 · 1 评论 -
Hive中表名、别名的限制
测试场景 表名 表别名 列别名 列别名为_ × × × 列别名仅包含数字 × × × 列别名以下划线开头 × × × 列别名仅包含数字和下划线,且以数字开头,如1_ √ √ √ 长度超过128 × √ √ × 表示不允许,√表示允许...原创 2018-06-22 20:00:12 · 16131 阅读 · 3 评论 -
查看DB2实际数据存储类型
select * from wht_x;SELECT * FROM sysibm.syscolumns WHERE TBNAME like '%WHT_NUM' ORDER BY COLNO ASC;原创 2018-06-22 20:32:40 · 674 阅读 · 0 评论 -
Hive数据导出的三种方式
导出到HDFSINSERT OVERWRITE DIRECTORY '/user/hive/warehouse/02' row FORMAT DELIMITED fields TERMINATED BY ',' stored as textfile SELECT * from airline; 导出到本地INSERT OVERWRITE LOCAL DIRECTORY '/root/...原创 2018-07-30 10:49:14 · 792 阅读 · 0 评论