hive查询语句入门(hive DDL)】的更多相关文章

hive DDL 启动hadoop /apps/hadoop/sbin/start-all.sh 开启MySQL库,用于存放hive的元数据 sudo service mysql start 启动hive hive 在/data/hive3下下载数据库数据 mkdir /data/hive3 cd data/hive3 wget http://192.168.1.100:60000/allfiles/hive3/buyer_log wget http://192.168.1.100:60000/…
一. 为什么hive是数据仓库 hive局限于hdfs, 不能进行记录级别的增删改 hive底层的mapreduce启动耗时很长, 无法做到传统数据库的秒查, 只适合离线分析 hive不支持事务, 无法完成OLTP的要求, OLTP选择hbase或cassandera 二. hive安装 每个hive客户端, 都需要有一个元数据服务来存储元信息(表模式,分区信息), 通常用传统数据库的一个表来存储元信息 hive内部默认用derby存储元信息, 由于derby是单进程存储, 使得不允许两个以上的…
最近在学习使用Hive(版本0.13.1)的过程中,发现了一些坑,它们或许是Hive提倡的比关系数据库更加自由的体现(同时引来一些问题),或许是一些bug.总而言之,这些都需要使用Hive的开发人员额外注意.本文旨在列举我发现的3个通过查询语句向表中插入数据过程中的问题,希望大家注意. 为了验证接下来出现的问题,需要先准备两张表employees和staged_employees,并准备好测试数据.首先使用以下语句创建表employees: create table employees ( id…
前言 近期在学习使用Hive(版本号0.13.1)的过程中,发现了一些坑,它们也许是Hive提倡的比关系数据库更加自由的体现(同一时候引来一些问题).也许是一些bug.总而言之,这些都须要使用Hive的开发者额外注意.本文旨在列举我发现的3个通过查询语句向表中插入数据过程中的问题,希望大家注意. 数据准备 为了验证接下来出现的问题,须要先准备两张表employees和staged_employees.并准备好測试数据.首先使用下面语句创建表employees: create table empl…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQL语句作为数据访问接口,Hive有如下优缺点: l  优点: 1.Hive 使用类SQL 查询语法, 最大限度的实现了和SQL标准的兼容,大大降低了传统数据分析人员学习的曲线: 2.使用JDBC 接口/ODBC接口,开发人员更易开发应用: 3.以MR 作为计算引擎.HDFS 作为存储系统,为超大数据集设计的计…
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 1.Hive操作演示 1.1 内部表 1.1.1 创建表并加载数据 第一步   启动HDFS.YARN和Hive,启动完毕后创建Hive数据库 hive>create database hive; hive>show databases; hive>use hive; 第二步   创建内部表 由于Hive使用了类似SQL的语法,所以创建内部表的语句相对SQL只增加了行和字段分隔符.…
Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是derby数据库 Hive中的元数据包括表的名字,表的列和分区及其属性,表的属性(是否为外部表等),表的数据所在目录等 ○ HQL的执行过程 解释器.编译器.优化器完成HQL查询语句从词法分析.语法分析.编译.优化以及查询计划(Plan)的生成.生成的查询计划存储在HDFS中,并在随后有MapRed…
Hive DDL(数据定义语言) Confluence Administrator创建, Janaki Lahorani修改于 2018年9月19日 原文链接 https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL 翻译:Google Google翻译,金山软件 金山词霸 校对:南大通用 范振勇 (2018.9.26) 一.概述 这里是HiveQL DDL语句的文档,其中包括: CREATE 数据库/SCHEMA,表…
前言 hive是构建在Hadoop上的数据仓库平台,其设计目标是:使Hadoop上的数据操作与传统的SQL结合,让熟悉sql的开发人员能够轻松的像Hadoop平台迁移. Hive是Facebook的信息平台的重要组成部分,Facebook在2008年将其共献给Apache,现在Hive是Hadoop家族中一款数据仓库产品. Hive最大的特点是:提供了类SQL的语法,封装了底层的MapReduce过程,让有SQL基础的业务人员,也可以也利用Hadoop进行大数据的操作.就是这一个点,解 决了原数…
#创建表人信息表  person(String name,int age) hive> create table person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\' STORED AS TEXTFILE; OK Time taken: 0.541 seconds#创建表票价信息表 ticket(int age,float price) hive> create tab…
http://blog.sina.com.cn/s/blog_66474b16010182yu.html这篇可以较好地理解什么是外部表external #创建表人信息表  person(String name,int age)  hive> create table person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' ESCAPED BY '\\' STORED AS TEXTFILE;  OK  T…
Hive中执行SQL语句时,出现类似于“Display all 469 possibilities? (y or n)”的错误,根本原因是因为SQL语句中存在tab键导致,tab键在linux系统中是有特殊含义的. 基本查询 desc formatted stu_buck;desc stu_buck; 创建部门表 create table if not exists dept( deptno int, dname string, loc int) row format delimited fie…
Hive是将符合SQL语法的字符串解析生成可以在Hadoop上执行的MapReduce的工具.使用Hive尽量按照分布式计算的一些特点来设计sql,和传统关系型数据库有区别, 所以需要去掉原有关系型数据库下开发的一些固有思维. 基本原则: 1:尽量尽早地过滤数据,减少每个阶段的数据量,对于分区表要加分区,同时只选择需要使用到的字段 select ... from A join B on A.key = B.key where A.userid>10 and B.userid<10 and A.…
 用途: 根据查询到结果数量来判断,是否需要再执行下个脚本. 1. 查询语句script.q脚本如下: ) as count from test; 2. shell脚本如下: 这里注意hive语句需要包裹在``(左上角~按键)里面,然后可以把输出的结果赋值给一个变量. #!/bin/sh count=`beeline --silent=true --outputformat=csv2 \ --showHeader=false --showWarnings=false \ -u 'jdbc:hiv…
背景   我们使用的HiveServer2的版本为0.13.1-cdh5.3.2,目前的任务使用Hive SQL构建,分为两种类型:手动任务(临时分析需求).调度任务(常规分析需求),两者均通过我们的Web系统进行提交.以前两种类型的任务都被提交至Yarn中一个名称为“hive”的队列,为了避免两种类型的任务之间相互受影响以及并行任务数过多导致“hive”队列资源紧张,我们在调度系统中构建了一个任务缓冲区队列,所有被提交的任务(手动任务.调度任务)并不会直接被提交至集群,而是提交至这个缓冲区队列…
好久不写,一方面是工作原因,有些东西没发直接发,另外的也是习惯给丢了,内因所致.今天是个好日子,走起! btw,实际上这种格式化输出应该不只限于某一种需求,差不多是通用的. 需求: --基本的:当前Hive查询结果存在数据与表头无法对齐的情况,不便于监控人员直接查看,或者导出到excel中,需要提供一个脚本,将查询结果处理下,便于后续的查看或者操作. --额外的:A.每次查询出来的结果字段数.字段长度不固定:B.每个数据文件中可能包含不只一套查询结果,即存在多个schema. 想法: 对于基本需…
hive查询遇到java.io.EOFException: Unexpected end of input stream错误 原因基本上有两个: 空文件 不完整的文件 解决办法: 删除对应文件- 参考 看这里…
今天我们来讲一下如何看懂Hive的查询计划. hive的执行计划包括三部分 – Abstract syntax tree – 可以直接忽略  – Stage dependencies – 依赖 – Stage plans – hive如何执行任务的信息. 下面还是以一个案例作为说明 设置自动连接为false的话,要走5步. 4 Map Reduces tells you something is not right.        Stage:    Stage-1               …
1.  启动hive metastore 2. 启动hive thrift接口 参考:http://www.cnblogs.com/kisf/p/7497261.html 3. 下载presto server wget https://repo1.maven.org/maven2/com/facebook/presto/presto-server/0.186/presto-server-0.186.tar.gz 4. 配置 config.properties coordinator=true n…
很多时候,我们需要将Hive的查询(select)结果保存起来,方便进一步处理或查看.在Hive里面提供了不同的方式来保存查询结果,在这里做下总结: 一.保存结果到本地 方法1:调用hive标准输出,将查询结果写到指定的文件中 这个方法最为常见,笔者也经常使用.sql的查询结果将直接保存到/tmp/out.txt中: $ hive -e "select user, login_timestamp from user_login" > /tmp/out.txt 方法2:使用INSE…
使用hive查询ncdc天气数据 在hive中将ncdc天气数据导入,然后执行查询shell,可以让hive自动生成mapredjob,快速去的想要的数据结果. 1. 在hive中创建ncdc表,这个表用来存放ncdc的数据 create table ncdc ( year string, month string, data string, time string, air string, a string, b string, c string, d string, e string, f…
今天下午有同事反馈她提交了了一个SQL后,hive 查询就停止响应了. 我看了下,发现hiveserver确实hug住了.听过查看日志,发现了一个牛逼的SQL, 这个SQL很简单: select a.column1, b.column2 from a left join b on a.id = b.id 这两张表都是很大的表,保存了好多年的数据,表b按照日期和类目进行了分区. 因为没有加限制,所以HiveMetaStore在获取分区的时候,会从mysql中获取这个表所有的分区信息,SQL如下:…
求大神解惑,找了很久都没有找到为什么??? hive支持length() 函数,不支持ifnull()函数??? impala实现hive查询 支持ifnull()函数,不支持length()  函数???…
异常信息如下: select * from b_pt_pr_customer_address_info limit 19; FAILED: SemanticException Unable to determine if hdfs://nodexx:8020/user/hive/warehouse/ss_aa_bb_info is encrypted: java.lang.IllegalArgumentException: Wrong FS: hdfs://nodexx:8020/user/hi…
首先说一下,这里解决的问题应用场景: sparksql处理Hive表数据时,判断加载的是否是分区表,以及分区表的字段有哪些?再进一步限制查询分区表必须指定分区? 这里涉及到两种情况:select SQL查询和加载Hive表路径的方式.这里仅就"加载Hive表路径的方式"解析分区表字段,在处理时出现的一些问题及解决作出详细说明. 如果大家有类似的需求,笔者建议通过解析Spark SQL logical plan和下面说的这种方式解决方案结合,封装成一个通用的工具. 问题现象 sparks…
查询语句可以直接使用非分析函数的变量的别名 select t1.* from ( select account_id, sum(recharge_money) recharge_money_total from dw.dw_app where dt='2016-11-21' and app_id=' and msgtype = 'role.recharge' group by account_id order by recharge_money_total desc limit ) t1 lim…
1.SQL查询语句的执行顺序 (7) SELECT (8) DISTINCT <select_list> (1) FROM <left_table> (3) <join_type> JOIN <right_table> (2) ON <join_condition> (4) WHERE <where_condition> (5) GROUP BY <group_by_list> (6) HAVING <having_…
图数据库的代表:Neo4j 官网:  http://neo4j.com/ 引言:为什么使用图数据库 在很多新型项目中,应用图数据库已经是势在必行的趋势了,因为图数据库可以很好的表示各种节点与关系的概念,并且可以很友好的可视化出来,大大方便了我们的数据管理和展示工作. 下面均以演员,导演和电影的图关系做介绍: 一 概念 节点: (a) //actors (m) //movies ( ) //some anonymous nod 关系: -[r]-> //a relationship referre…
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 一.执行计划核心思想:把Hive SQL当做Mapreduce程序去优化以下SQL不会转为Mapreduce来执行 -select仅查询本表字段 -where仅对本表字段做条件过滤 Explain 显示执行计划:EXPLAIN [EXTENDED] query hive> explain sele…
一.DDL操作(定义操作) 1.创建表 (1)建表语法结构 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name[(col_name data_type [COMMENT col_comment], ...)]          //字段注释[COMMENT table_comment]                                            //表的注释[PARTITIONED BY (col_name data_t…