#建表
create table sign_in (uri string , koudaiToken string) row format delimited fields terminated by ‘|’;
#如果不存在表则创建
create table if not exists mytable (id bigint,name string);
#创建外部表
hive> create external table lss_sign_in (uri string,token string) row format delimited fields terminated by ‘\t’ ;
#从HDFS加载数据到表
hive> load data inpath ‘hdfs:/user/root/input/sign_in/sign.uri’ overwrite into table lss_sign_in;
#本地文件加载到hive 仓库:
hive> LOAD DATA LOCAL INPATH ‘/luanshoushen/test.txt’ OVERWRITE INTO TABLE lss;
#从HDFD加载到HIVE 仓库(注意这里记载完成后会删除掉HDFS上的文件)
hive> LOAD DATA INPATH ‘hdfs:/user/root/input/test.txt’ OVERWRITE INTO TABLE kevin;
Loading data to table default.kevin
Deleted hdfs://idc01-vm-test-124:9019/user/hive/warehouse/kevin
虽然源文件表面上看是在HDFS删除了,其实文件被移到hive HDFS数据仓库中去了。
默认数据库仓库的文件保存在: /user/hive/warehouse/
其中kevin对应的HIVE中得元数据表名称。
test.txt就是源文件,从本地加载文件和HDFS加载文件类似。
./hadoop fs -text /user/hive/warehouse/kevin/test.txt
#查看表结构
describe tableName;
id int
name string
age int
也可以使用:desctableName;
#显示所有函数
show functions;
#查看函数使用方法
hive> describe function substr;
substr(str, pos[, len]) – returns the substring of str that starts at pos and is of length len
#根据URI分组,count(uri) 可以统计URI的PV
hive> select uri,count(uri) from sign_in group by uri;
#统计UV
hive> select uri, count(distinct koudaitoken) from sign_in group by uri;
#也同样支持 limit
#修改表结构
hive> alter table sign_in_uri replace columns(uri string);
#把Select结果插入到表中
insert overwrite table sign_in_uri select uri from sign_in group by uri;
#链接查询
#左链接
select sign_in.*,sign_in_uri.* from sign_in_uri left outer join sign_in on(sign_in_uri.uri = sign_in.uri);
#右链接
select sign_in.*,sign_in_uri.* from sign_in_uri right outer join sign_in on(sign_in_uri.uri = sign_in.uri) ;
#全链接
hive> select sign_in.*,sign_in_uri.* from sign_in_uri full outer join sign_in on(sign_in_uri.uri = sign_in.uri) limit 100;
#in 查询(hive不支持IN)使用semi join 达到相似效果
hive> select sign_in_uri.* from sign_in_uri left semi join sign_in on(sign_in_uri.uri = sign_in.uri) limit 10;
使用正则
hive> select regexp_extract(koudaitoken,’\\[.*\\]‘,0) from sign_in limit 10;
#查看函数使用方法
hive> describe function regexp_extract
regexp_extract(str, regexp[, idx]) – extracts a group that matches regexp
#注意写入HDFS或本地目录时会删除掉目录下的内容。
#将Hive数据导出到本地目录
hive> insert overwrite local directory ‘/luanshoushen/hive’ select * from sign_in_uri;
#将Hive数据导出到HDFS
hive> insert overwrite directory ‘user/root/input/hive’ select * from sign_in;
#使用一个查询将结果写入HDFS目录和本地目录
hive> from sign_in
> insert overwrite local directory ‘/luanshoushen/hive’ select *
> insert overwrite directory ‘/user/root/input/’ select *
> ;
http://mojijs.com/2014/04/134869/index.html
相关推荐
// 具有子查询的sql String hql = "select id,name from (select id from table_1 where id={p0}) t1 inner join (select name --this is name\n from table_2) t2"; // 获取id字段的血缘 LineageNode idNode = ...
hadoop数据库中的hive技术,支持一般SQL语句操作数据库,但是也有部分不同,文档中总结了常用的一些操作指令。
hivesql解析 支持版本<!--<hive.version>1.0.0</hive.version> <hadoop.version>2.4.1</hadoop.version> --> <hive.version>2.0.1</hive.version> <hadoop.version>2.7.2</hadoop.version>
数据查询语句:可以通过类似于SQL的语法查询Hive表中的数据,并支持聚合操作、过滤条件等操作。 数据转换语句:可以通过Hive SQL进行数据转换,例如数据清洗、转换、合并等操作。 数据导出语句:可以将Hive表中的...
12_Hadoop及Hive配置支持snappy压缩 13_Hive中的常见调优 14_Hive中的数据倾斜及解决方案-三种join方式 15_Hive中的数据倾斜及解决方案-group by 16_Hive中使用正则加载数据 17_Hive中使用Python脚本进行预处理
hive sql 解析工具类,传入sql(支持多段sql,以";"隔开),返回map 获取表get("tables")获取sql语句 get("sqls")
SparkSQL通过Hive创建DataFrame问题分析 ...分析:确实没有临时表View,并且没有开启Hive支持 解决:开启Hive支持 val spark: SparkSession = SparkSession.builder() .appName(SparkUtils) .master(lo
hive 底层封装了Hadoop ,使用类SQL 的hiveSQL 语言实现数据查询,所有hive 的数据都存储在Hadoop 兼容的文件系统(例如,Amazon S3、HDFS)中。hive 在加载数据过程中不会对数据进行任何的修改,只是将数据移动到...
因此, Hive 中不支持对数据的改写和添加,所有的数据都是在加载的时候中确定好的。 而数据库中的数据通常是需要经常进行修改的,因此可以使用 INSERT INTO ... VALUES 添加数据,使用 UPDATE ... SET 修改数据。 ...
hive实现并发机制:hive里,同一sql里,会涉及到n个job,默认情况下,每个job是顺序执行的。 如果每个job没有前后依赖关系,可以并发执行的话,可以通过设置该参数 set hive.exec.parallel=true,实现job并发执行...
Apache Hive(apache-hive-3.1.3-bin.tar.gz、apache-hive-3.1.3-src.tar.gz)是一种分布式容错数据仓库系统,支持大规模分析,并使用 SQL 促进读取、写入和管理驻留在分布式存储中的 PB 级数据。Hive 构建在 Apache...
超好用的sql格式化工具,支持单个sql格式/sql文件批量格式/监控剪切板并自动将sql复制的sql语句格式化工具, 支持mssql/oracle/mysql/msaccess/generic... 一句话,不好用回帖骂我吧
一、Hive简介 1.什么是Hive Hive是基于Hadoop的一个数据... Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数 容错 良好的容错性,节点出现问题SQL仍可完成执行 3.Hive与传统数据库的对比图 4.Hiv
安装即可连接,可连接MySql,sqlServer等类型的数据库
hive的驱动包,支持使用jdbc的方式连接hive组件,可在客户端使用sql进行数据库操作
SQL Developer提供了PL/SQL程序的端到端开发,运行查询工作表的脚本,管理数据库的DBA控制台,报表接口,完整的数据建模的解决方案,并且能够支持将你的第三方数据库迁移至Oracle。 SQL Developer可以连接到任何...
删除hive-exec与hadoop-common的maven依赖,使得项目更加的轻量级。 重构项目代码,优化解析,修复无字段血缘时,不能获取表血缘的BUG。 规范化接口输入输出,血缘图均为自定义实体,方便进行JSON序列化。 新增接口...
Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL...并且都安装好了Hadoop-0.19.2(hive支持的Hadoop版本很 多),hosts文件配置正确。Hive部署在hadoop1机器上。
Hive是一个基于Hadoop的数据仓库平台。通过hive,我们可以方便地进行ETL的工作。hive定义了一个类似于SQL...并且都安装好了Hadoop-0.19.2(hive支持的Hadoop版本很 多),hosts文件配置正确。Hive部署在hadoop1机器上。
HBase是建立在HDFS上的面上列的数据库。...hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。