当在hive中show table …】的更多相关文章

当在hive中show table 时如果报以下错时 FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-creating/validating the datastore for classes. The errors are printed in the log, and are attached to this exception. NestedThrowabl…
前言 bucket table(桶表)是对数据进行哈希取值,然后放到不同文件中存储 应用场景 当数据量比较大,我们需要更快的完成任务,多个map和reduce进程是唯一的选择.但是如果输入文件是一个的话,map任务只能启动一个.此时bucket table是个很好的选择,通过指定CLUSTERED的字段,将文件通过hash打散成多个小文件. create table test (id int, name string ) CLUSTERED BY(id) SORTED BY(name) INTO…
起因 公司用的AWS EMR上的hive,突然不能删除表了. 经过 分析来看,估计是元数据那块出了问题.从元数据入手,元数据存在mysql的hive数据库中 直接使用hive配置文件hive-site.xml中的用户名密码访问mysql数据库 mysql -h ip -uhive -p ERROR 1045 (28000): Access denied for user 'hive'@'ip' (using password: YES) 使用 root用户登录mysql,进入mysql数据库,查…
在前面的文章中,介绍了可以把Hive当成一个"数据库",它也具备传统数据库的数据单元,数据库(Database/Schema)和表(Table). 本文介绍一下Hive中的数据库(Database/Schema)和表(Table)的基础知识,由于篇幅原因,这里只是一些常用的.基础的. 二.Hive的数据库和表 先看一张草图: Hive结构 从图上可以看出,Hive作为一个"数据库",在结构上积极向传统数据库看齐,也分数据库(Schema),每个数据库下面有各自的表组…
在处理流水增量表的时候,出现了一个判定的失误. select a.a1,a.a2 from ( select a.a1 ,,) as diff ,a.a2 from a lefter join b on a.a1=b.b1 ) c ; 因为左外关联,可能会出现b表数据不存在 则b.b2 is null , if(a.a2<>b.b2,1,0) as diff,null值的判断只能使用is ,is not : jdbc:hive2: ,); +------+--+ | _c0 | +------…
一.基本概念 hive中分区表分为:范围分区.列表分区.hash分区.混合分区等. 分区列:分区列不是表中的一个实际的字段,而是一个或者多个伪列.翻译一下是:“在表的数据文件中实际上并不保存分区列的信息与数据”,这个概念十分重要,要记住,后面是经常用到. 1.1 创建数据表 下面的语句创建了一个简单的分区表: create table partition_test( member_id string, name string ) partitioned by ( stat_date string…
由于我Spark采用的是Cloudera公司的CDH,并且安装的时候是在线自动安装和部署的集群.最近在学习SparkSQL,看到SparkSQL on HIVE.下面主要是介绍一下如何通过SparkSQL在读取HIVE的数据. (说明:如果不是采用CDH在线自动安装和部署的话,可能需要对源码进行编译,使它能够兼容HIVE. 编译的方式也很简单,只需要在Spark_SRC_home(源码的home目录下)执行如下命令: ./make-distribution.sh --tgz -Phadoop-2…
hive中有些分析函数功能确实很强大,在和sum,max等聚合函数结合起来能实现不少功能. 直接上代码演示吧 原始数据 channel1 2016-11-10 1 channel1 2016-11-11 3 channel1 2016-11-12 5 channel1 2016-11-13 6 channel1 2016-11-14 2 channel1 2016-11-15 4 channel2 2016-11-10 5 channel2 2016-11-11 3 channel2 2016-…
使用hive时,我们偶尔会遇到这样的问题,当你将结果输出到屏幕时,查出的数据往往显示为null,但是当你将结果输出到文本时,却显示为空(即未填充),这是为什么呢? 在hive中有一种假NULL,它看起来和NULL一样,但是实际却不是NULL. 比如下面这样: [hdfs@dsdc04 ~]$ cat /data6/chenye/baidu_djzs_sessionid/test\NNULL Krisnull 本地的test文件内有五行数据,分别为\N.NULL.   .Kris.null 我们建…
1. create table 创建一张目标表,指定分隔符和存储格式: create table tmp_2 (resource_id bigint ,v int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\,' LINES TERMINATED BY '\n' STORED AS TEXTFILE; //ROW FORMAT DELIMITED FIELDS TERMINATED BY '\,'---这里设置字段间以逗号分隔: //LINES TE…
hive中建立外部分区表,外部数据格式是json的如何导入呢? json格式的数据表不必含有分区字段,只需要在hdfs目录结构中体现出分区就可以了 This is all according to this guide: http://blog.cloudera.com/blog/2012/12/how-to-use-a-serde-in-apache-hive/ hive> ADD JAR /home/hadoop/hive-serdes-1.0-SNAPSHOT.jar; Added /ho…
1.sqoop 将关系型数据库的数据导入hive的参数说明:…
一:大纲介绍 1.导入方式 load data local inpath 'local_file_path' into table tbname partition (date='',hour=''); 2.获取数据源 20161114/2016111402.log /2016111403.log /2016111404.log .......... 3.hive准备 导入分区表 二:准备 1.日志目录 日志目录:/etc/opt/datas/log_hive 日志的文件夹:20161114 2…
一:基本用法 1.新建数据库 2.删除数据库 3.删除非空的数据库 4.指定数据库的位置 LOCATION:指定数据库的位置,不会在系统的默认文件下. 5.在指定数据库中新建表(验证在指定的数据库中可以建表) 6.在页面上观看表 可以看到在指定的目录下有一张新建的表. 但是,没有看到指定的数据库. 7.新建表 8.删除一张表 drop  table if exists student; 9.清空一张表 10.加载数据 1)从本地加载 2)从HDFS上加载 3)区别: 移动. 11.查询 12.描…
所介绍内容基本上是翻译官方文档,比较肤浅,如有错误,请指正! hive中创建分区表没有什么复杂的分区类型(范围分区.列表分区.hash分区.混合分区等).分区列也不是表中的一个实际的字段,而是一个或者多个伪列.意思是说在表的数据文件中实际上并不保存分区列的信息与数据. 下面的语句创建了一个简单的分区表: create table partition_test (member_id string, name string ) partitioned by ( stat_date string, p…
---恢复内容开始--- .阿里的druid中的sql parser有各种关系数据库sql的解析,但hive的不支持. druid初期的版本中是包含hive的,将以前版本中的hive dialect对应的内容放入,测试,发现有些语句不支持,如: show create table xxx; show tables; 普通的select语句是可以解析的,如: sql: NEW_UV_QTY, SEARCH_CNT, SHOPNG_CART_PV_QTY, PAGE_DRTN, EXIT_QTY,…
1.背景 1.在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念. 2.分区表指的是在创建表时指定的partition的分区空间. 3.如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构. 2.细节 1.一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下. show partitions stage_…
1.hive往外写数据 http://wiki.pentaho.com/display/BAD/Extracting+Data+from+Hive+to+Load+an+RDBMS 连接hive…
一.背景 1.在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作.有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念. 2.分区表指的是在创建表时指定的partition的分区空间. 3.如果需要创建有分区的表,需要在create表的时候调用可选参数partitioned by,详见表创建的语法结构. 二.技术细节 1.一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下. 2.表和列名不区分大小写. 3.分区是以…
日志数据的统计处理在这里反倒没有什么特别之处,就是一些 SQL 语句而已,也没有什么高深的技巧,不过还是列举一些语句示例,以示 hive 处理数据的方便之处,并展示 hive 的一些用法. a)          为 hive 添加用户定制功能,自定义功能都位于 hive_contrib.jar 包中 add jar /opt/hadoop/hive-0.5.0-bin/lib/hive_contrib.jar; b)          统计每个关键词的搜索量,并按搜索量降序排列,然后把结果存入…
HIVE表中默认将NULL存为\N,可查看表的源文件(hadoop fs -cat或者hadoop fs -text),文件中存储大量\N, 这样造成浪费大量空间.而且用java.python直接进入路径操作源数据时,解析也要注意. 另外,hive表的源文件中,默认列分隔符为\001(SOH),行分隔符为\n(目前只支持\n,别的不能用,所以定义时不需要显示声明).元素间分隔符\002,map中key和value的分隔符为\003. 举例,如源文件中一条记录为: 10000042SOH77SOH…
转自:http://lxw1234.com/archives/2015/06/313.htm 笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join).本文简单介绍一下两种join的原理和机制. Hive Common Join 如果不指定MapJoin或者不符合MapJoin的条件,那么Hive解析器会将Join操作转换成Common Join,即:在Reduce阶段完成join.整个过程包含Map.Shuffle.…
hive的最新学习资料:http://www.cnblogs.com/qingyunzong/p/8707885.html hive的参数设置大全:https://cwiki.apache.org/confluence/display/Hive/Configuration+Properties 一.hive的执行命令 hive -S :进入hive的静默模式,只显示查询结果,不显示执行过程: hive -e ‘show tables’ :直接在操作系统命令下执行hive语句,不需要进入hive交…
最近在做一个小任务,将一个CDH平台中Hive的部分数据同步到另一个平台中.毕竟我也刚开始工作,在正式开始做之前,首先进行了一段时间的练习,下面的内容就是练习时写的文档中的内容.如果哪里有错误或者疏漏,希望各位网友能够指出. 第一篇:HDFS的上传与下载(put & get):https://www.cnblogs.com/BlackString/p/10552553.html 第三篇:Hive分区表的导入与导出:https://www.cnblogs.com/BlackString/p/105…
hdfs数据到hive中: 假设hdfs中已存在好了数据,路径是hdfs:/localhost:9000/user/user_w/hive_g2park/user_center_enterprise_info/* 1.提前(在hive中)准备好表, user_center_enterprise_info2 ,用于接收hdfs数据. CREATE TABLE user_center_enterprise_info2 ( `id`string , `name` string ); 2.使用load…
一:大纲介绍 1.导入方式 load data local inpath 'local_file_path' into table tbname partition (date='',hour=''); 2.获取数据源 20161114/2016111402.log /2016111403.log /2016111404.log .......... 3.hive准备 导入分区表 二:准备 1.日志目录准备 日志目录:/etc/opt/datas/log_hive 日志的文件夹:20161114…
一:基本用法 1.新建数据库 2.删除数据库 3.删除非空的数据库 4.指定数据库的位置 LOCATION:指定数据库的位置,不会在系统的默认文件下. 5.在指定数据库中新建表(验证在指定的数据库中可以建表) 6.在页面上观看表 可以看到在指定的目录下有一张新建的表. 但是,没有看到指定的数据库. 7.新建表 8.删除一张表 drop  table if exists student; 9.清空一张表 10.加载数据 1)从本地加载 2)从HDFS上加载 3)区别: 移动. 11.查询 12.描…
说明:spark版本:2.2.0 hive版本:1.2.1 需求: 有本地csv格式的一个文件,格式为${当天日期}visit.txt,例如20180707visit.txt,现在需要将其通过spark-sql程序实现将该文件读取并以parquet的格式通过外部表的形式保存到hive中,最终要实现通过传参的形式,将该日期区间内的csv文件批量加载进去,方式有两种: 1.之传入一个参数,说明只加载一天的数据进去 2.传入两个参数,批量加载这两个日期区间的每一天的数据 最终打成jar包,进行运行 步…
一.内部表与外部表的比较 Hive表概念和关系型数据库表概念差不多.在Hive里表会和HDFS的一个目录相对应,这个目录会存放表的数据.目录默认是/usr/hive/warehouse/. 比如你在hadoop09数据库创建了emp表,那么HDFS中就会有/user/hive/warehouse/hadoop09.db/emp这个目录来存放表里的数据. 管理表:管理表又被称之为内部表,他只管理着数据生命周期,当我们删除这张表时,元数据和存储的业务数据都会被删除,也就是说HDFS所对应的表目录应该…
本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理.设计.以及在我们大数据场景下的实现方式. 全文由下面几个部分组成: 先分享一下拉链表的用途.什么是拉链表. 通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别. 举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,我们会以Hive场景下的设计为例). 分析一下拉链表的优缺点,并对前面的提到的一些内容进行补充说明,比如说拉链表和流水表的区别.…