hive表的数据源有四种: hbase hdfs 本地 其他hive表 而hive表本身有两种: 内部表和外部表. 而hbase的数据在hive中,可以建立对应的外部表(参看hive和hbase整合) 内部表和外部表 区别:删除时,内部表删除hadoop上的数据:而外部表不删,其数据在外部存储,hive表只是查看数据的形式,看时从外部读入数据: 内部表:CREATETABLE tab(column1 STRING, column2 STRING); 外部表:用EXTERNAL 关键字,且必须在表…
一)在同一个数据库服务器上面进行数据表间的数据导入导出: 1. 如果表tb1和tb2的结构是完全一样的,则使用以下的命令就可以将表tb1中的数据导入到表tb2中: insert into db2.tb2 select * from  db1.tb1 2. 如果表tb1和tb2只有部分字段是相同的,要实现将tb1中的部分字段导入到tb2中相对应的相同字段中,则使用以下命令: insert into db2.tb2(字段1,字段2,字段3--) select  字段1',字段2',字段3',-- …
0. 说明 Hive 建表示例及指定分隔符 1. Hive 建表 Demo 在 Hive 中输入以下命令创建表 user2 create table users2 (id int, name string, age int) row format delimited fields terminated by '\t'; 插入数据 ,); 2. 分隔符类型 字段分隔符 fields terminated by '\t' array 类型成员分隔符 collection items terminat…
思路一:重定向 在我不知道工具 ,也不熟悉HIQL语法的情况下,没办法了,只有选择一个最简单粗暴的方法,重定向. 在shell中使用 hive -e 可以在shell中执行hive命令,hive -f可以执行文件之中的sql语句,需要什么数据,就把它查询出来,最后重定向到指定目录之下. 思路二:hql语法 在hive中使用INSERT OVERWRITE LOCAL DIRECTORY将数据导出到指定目录,若要导入到HDFS,删掉lLOCAL即可 导出之后的文件,如果在windows打开会存在一…
业务背景 mysql表YHD_CATEG_PRIOR的结构例如以下: -- Table "YHD_CATEG_PRIOR" DDL CREATE TABLE `YHD_CATEG_PRIOR` ( `category_id` int(11) NOT NULL COMMENT '类目ID', `category_name` varchar(250) DEFAULT NULL COMMENT '类目名称', `category_level` int(11) DEFAULT '0' COMM…
这里罗列常用操作,更多参考 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL#LanguageManualDDL-Create%2FDrop%2FTruncateTable 简单的创建表 create table table_name ( id int, dtDontQuery string, name string ) 创建有分区的表 create table table_name ( id int, dtD…
1.内部表 内部表Load数据有两种方式:① Load data ***:②hdfs dfs -put ****.这是因为在Metastore文件,即mysql的hive数据库的“SDS”表中,保存着Hive表对应的hdfs路径信息. 内部表在Load数据时,如果使用LOCAL关键字,Hive会把本地文件系统中的数据文件复制到Hive的 /warehouse 目录.反之,则是将HDFS上的数据文件剪切到 /warehouse 目录. Hive在Load数据时,并不检查目录中的文件是否符合表所声明…
本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的.基础的. Hive的数据库和表 先看一张草图: Hive结构 从图上可以看出,Hive作为一个“数据库”,在结构上积极向传统数据库看齐,也分数据库(Schema),每个数据库下面有各自的表组成. 1.  Hive在HDFS上的默认存储路径 Hive的数据都是存储在HDFS上的,默认有一个根目录,在hive-site.xml中,由参数hive.metastore.ware…
本博文的主要内容如下: Hive文件存储格式 Hive 操作之表操作:创建外.内部表 Hive操作之表操作:表查询 Hive操作之表操作:数据加载 Hive操作之表操作:插入单表.插入多表 Hive语法结构:where 查询.all 和 distinct 选项.基于 Partition 的查询.基于 HAVING 的查询. LIMIT 限制查询. GROUP BY 分组查询. ORDER  BY 排序查询.SORT BY 查询.DISTRIBUTE BY 排序查询.CLUSTER BY 查询 H…
HIVE特殊分隔符处理 Hive对文件中的分隔符默认情况下只支持单字节分隔符,,默认单字符是\001.当然你也可以在创建表格时指定数据的分割符号.但是如果数据文件中的分隔符是多字符的,如下图: 01||zhangsan 02||lisi 03||wangwu 补充:hive读取数据的机制 1.首先用inputformat的一个具体的实现类读取文件数据,返回一条条的记录(可以是行,或者是你逻辑中的“行”) 2.然后利用SerDe<默认:org.apache.hadoop.hive.serde2.L…