今天微博大数据平台发邮件来说.他们有一个hql执行失败.可是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下.最后找到了问题的解决办法,下面是分析过程: 1.执行失败的hql: INSERT OVERWRITE TABLE brand_ad_user_with_interact_score_3 select a.uid, a.brand, a.friend, CASE b.weight WHEN NULL THEN '0.000000' ELSE b.weight END fr…
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…
建表: create EXTERNAL table tabtext(IMSI string,MDN string,MEID string,NAI string,DestinationIP string,DestinationPort string,SourceIP string,SourcePort string,PDSNIP string,PCFIP string,HAIP string,UserZoneID string,BSID string,Subnet string,ServiceOp…
从 oracle 数据库导数到到 hive 大数据平台,需要按照大数据平台的数据规范,重新生成建表的 SQL 语句,方便其间,写了一个自动生成SQL的存储过程. ① 创建一张表,用来存储源表的结构,以便进行数据处理(可以用临时表,创建表是为了方便核对数据): create table T_P_TABLE_NAME_TEMP ( owner ) not null, table_name ) not null, tab_comments ), column_name ) not null, data…
背景:部署CDH集群的 hive 服务,选用 mysql 作为 hive 元数据的存储数据库,通过 hive cli 建表时发现中文注释均乱码. 现象:hive端建表中文注释乱码. 定位: 已经确认过 mysql 库的默认编码是 utf-8,并且 mysql 中建库建表不存在中文乱码的情况. 于是查看hive库表的编码,分别通过如下方式查看hive库和随机某个表的编码,发现hive表的编码是 lantin1,问题也就出在这里. 查看hive库编码: 查看hive表编码: 解决方法: 将hive表…
1.写出文件工具类 package ccc.utile; import java.io.*; /** * @author ccc * @version 1.0.0 * @ClassName WriteToFileExample.java * @Description TODO IO流 * @ProjectName ccc * @createTime 2021年08月07日 18:32:00 */ public class WriteToFileExample { /** * 追加写入数据到指定文…
原文链接: https://www.toutiao.com/i6766784274965201415 一.普通建表方式 create table stu_info( id int, name string )ROW FORMAT DELIMITED FIELDS TERMINATED BY ' ' 载入数据 load data local inpath '/data/hivetest/stu_info_local' into table stu_info; load data inpath '/…
建表范例:支持update和delete create table aaa( id string, visitor_name string ) clustered by(id) into buckets stored as orc TBLPROPERTIES('transactional'='true'); 目前只有ORCFileformat支持AcidOutputFormat,另外,建表时必须指定('transactional' = true)2.alter table aaa set ser…
类似Mysql的数据库概念: hive> CREATE DATABASE cui; hive> USE cui; 创建表: CREATE TABLE test( first STRING, second STRING ) 默认记录和字段分隔符: \n   每行一条记录 ^A    分隔列(八进制 \001) ^B    分隔ARRAY或者STRUCT中的元素,或者MAP中多个键值对之间分隔(八进制 \002) ^C    分隔MAP中键值对的“键”和“值”(八进制 \003) 自定义分隔符:…
客户端连接hive [root@bigdata-02 bin]# ./beeline Beeline version by Apache Hive beeline: Connecting : Enter username :: root Enter password :: ****** Connected ) Driver: Hive JDBC (version ) Transaction isolation: TRANSACTION_REPEAtable_READ : jdbc:hive2::…
1. hive> create table wyp > (id int, name string, > age int, tel string) > ROW FORMAT DELIMITED > FIELDS TERMINATED BY '\t' > STORED AS TEXTFILE; 2. cat wyp.txt 1       wyp     25      13188888888888 2       test    30      1388888888888…
drop table dw.fct_so;create table dw.fct_so(so_id bigint comment '订单ID',parent_so_id bigint comment '父订单ID (如果未拆单,则等于so_id)',order_code string comment '订单编码',order_amt float comment '订单金额(产品总额+运费)',actl_order_amt float comment '实付金额',actl_order_amt_p…
1. hive的简介(具体见文档) Hive是分析处理结构化数据的工具   本质:将hive sql转化成MapReduce程序或者spark程序 Hive处理的数据一般存储在HDFS上,其分析数据底层的实现是MapReduce/spark,执行程序运行在Yarn上 其大致可以按如下图理解(具体可见HIVE文档) sql语句是对某个表进行操作,所以hive一定要创建一个表格,这个表格必须要映射到hdfs中某个具体的文件才行,而映射关系.表的结构数据以及hdfs中数据的存储结构都会在创建表时规定,…
查看hive建表语句:show create table tablename; 查看hive表结构:describe  tablename; 简写:desc tablename;…
情况描述 Hive建表时报错,元数据存储在mysql中. 报错信息 如下: FAILED: Execution Error, bytes com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too bytes at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.Native…
方法一: 现在的导出还是有缺陷的,导出的文件中还是存在其他不必要的信息 #!/bin/bash ##获取数据库 databases=$(hive -e "show databases; exit;") for database in $databases; do #获取hive建表语句 tables=$(hive -e "use $database; show tables;") for table in $tables; do echo "--=====…
当我们用HBase 存储实时数据的时候, 如果要做一些数据分析方面的操作, 就比较困难了, 要写MapReduce Job. Hive 主要是用来做数据分析的数据仓库,支持标准SQL 查询, 做数据分析很是方便,于是便很自然地想到用Hive来载入HBase的数据做分析, 但是很奇怪地是, 上网查了一下, 只看到以下两种情况: 1. 如何用Hive 往HBase里面插入大量的数据. 2. Hive 与HBase集成, 直接从Hive里面连HBase的数据库进行查询.参考链接: https://cw…
1.建表 Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name ( [(col_name data_type [COMMENT col_comment], ...)] )   [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED B…
转的这里的 首先先导出所有的table表 hive -e "use xxxdb;show tables;" > tables.txt 然后再使用hive内置语法导出hive表的建表语句,这里使用的是一个shell cat tables.txt |while read eachline do hive -e "use xxxdb;show create table $eachline" >>tablesDDL.txt done…
目录 认识Hive 1. 解压 2. 配置mysql metastore(切换到root用户) 3. 配置hive 4. 安装hive和mysq完成后,将MySQL的连接jar包拷贝到$HIVE_HOME/lib目录下 5. 建表 6. 创建分区表 认识Hive Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapRedu…
我昨天在hive上建表,一直报Display all 459 possibilities? (y or n) ,之前我以为是建表语句有问题,一直在改语句,后来在网上搜这个错误,原来语句里混杂了Tab缩进,这可能是我使用notepad++的时候打出来的: 解决方案:把它粘到plsql里,将空格和缩进都重新打一遍就好了,在plsql里可以用tab键:…
背景:mysql编码是utf-8,mysql中建库建表中文显示都正常,但在hive窗口中建表时字段中文注释均乱码的问题. 问题:hive中建表后字段中文注释显示异常. 1. 定位 mysql 端问题 查看 mysql 字符集编码 mysql 中新建表中文注释显示正常 由此可以定位到并不是 mysql 服务端的编码问题. 2. 定位 hive 元数据问题 查看hive库表在mysql中的元数据信息,发现数据库的编码是utf8,而库中表的编码是latin1,所以才会导致hive中中文显示乱码. 至此…
### 读取hive的表结构,生成带comment的视图建表语句 # 读取配置文件中的表并进行遍历 grep -v '^#' tablesFile|while read tableName do status= viewName=$(echo ${tableName}|sed "s/^dwd_/dwd_cms_out_l_/i"|sed "s/^dws_/dws_cms_out_l_/i"|sed "s/^ads_/ads_cms_out_l_/i&quo…
导入数据 1). 本地 load data local inpath "/root/example/hive/data/dept.txt" into table dept; 2). HDFSload data inpath "/user/hive/warehouse/functiontest.db/dept1/dept.txt" into table dept1; 我发现使用这个命令后,hdfs上的xxx.txt文件会移动到当前表的目录下,原来表的目录下xxx.tx…
   1.hive 的导入导出 1.1 hive的常见数据导入方法 1.1.1 从本地系统中导入数据到hive表 1.创建student表 [ROW FORMAT DELIMITED]关键字,是用来设置创建的表在加载数据的时候,支持的列分隔符.[STORED AS file_format]关键字是用来设置加载数据的数据类型,默认是TEXTFILE,如果文件数据是纯文本,就是使用 [STORED AS TEXTFILE],然后从本地直接拷贝到HDFS上,hive直接可以识别数据. 2本地创建文件…
Hive在大数据中可能是数据工程师使用的最多的组件,常见的数据仓库一般都是基于Hive搭建的,在使用Hive时候,遇到了两个奇怪的现象,今天给大家聊一下,以后遇到此类问题知道如何避坑! 坑一:改变字段类型后更新数据不成功 关于hive插入数据的一个小坑,今天插入一个表中数据,插入时写的是常数,比如0.01 ,表中的字段也是DECIMAL(5,2),按照常理插入的应该是0.01,但是插入后查询是0,为甚! 遇到问题,咱也不能退缩!就分析呀,看语句没问题啊!还是上网查查有没有坑友.查了一圈发现还是观…
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错 Hibernate: insert into news_table (title, content) values (?, ?)       Exception in thread "m…
1.Table 内部表 1).与数据库中的Table在概念上是类似的 2).每一个Table在Hive中都有一个相应的目录存储数据 3).所有的Table数据(不包括 External Table) 都保存在这个目录中 4).删除表时,元数据与数据都会被删除 5).建表: 2.Partition 分区表 1).Partition 对应于数据库的Partition列的密集索引 2).在Hive中,表中的一个Partition对应于表下的一个目录,所有的Partition的数据都存储在对应的目录中.…
1.搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar.hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包 2.主要程序 package com.wujintao.hbase.test; import java.io.IOException; import java.util.ArrayList; import java.util.List;…
最近开始学Hibernate,看的是李刚的那本<轻量级java ee企业应用实战>.头一个hibernate程序,我原原本本的按照书上例子写下来,同时只是改动了些mysql的连接参数,并且在mysql中新建了一个hibernate数据库,仅此而已.然而预想不到的事情发生了……程序写好之后,运行,报错Hibernate: insert into news_table (title, content) values (?, ?) Exception in thread "main&quo…