Hive
文章平均质量分 59
数据仓库
Shall潇
空空如也
展开
-
Hive---collect_list和collect_set
collect_list 和 collect_set 都是实现将某一列合并成一行(列转行)的作用。二者区别:collect_list : 返回包含重复元素的集合collect_set :返回去除重复元素的集合如何实现列转行的呢举个例子首先建个表create table user_film(user_name string,film_name string)partitioned by(day string)row format delimitedfields terminate原创 2021-06-10 20:02:20 · 1024 阅读 · 1 评论 -
Hive---JDBC
文章目录一、导入Jar 包二、编写程序一、导入Jar 包下载地址:hive-jdbc-1.1.0-cdh5.14.2-standalone.jar下载好后,直接导入或者添加依赖,但是 阿里云好像没这个 jar 包,最好换个镜像地址<dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId> <version原创 2021-06-08 12:27:40 · 1751 阅读 · 0 评论 -
MongoDB数据导入Hive
文章目录一、添加 jar 包 (很重要)二、MongoDB数据准备三、Hive配置一、添加 jar 包 (很重要)【注意:大部分报错就是 jar包的问题,不是包导错了,就是版本不对】 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongodb-driver</artifactId> <version>3.2.2</vers原创 2021-06-07 18:56:22 · 484 阅读 · 0 评论 -
HBase数据导入Hive
文章目录HBase数据的准备Hive建表和导入HBase数据的准备表:event_db:users表结构表数据Hive建表和导入创建库:create database events设置临时变量代表 events:set hivevar:db=events;设置动态分区非严格模式:set hive.exec.dynamic.partition.mode=nonstrict;设置允许动态分区:set hive.exec.dynamic.partition=true;关闭自动mapjoi原创 2021-06-07 19:20:38 · 801 阅读 · 0 评论 -
Hive---如何处理json数据
问题:表中数据像如下这种情况(某个字段时JSON格式),想要单独取出JSON中的某个字段:id,ids,total_number 怎么办?hive (first_test)> select * from user;OKuser.id user.infos user.device_id1 {"id": 1701439105,"ids": [2154137571,3889177061],"total_number": 493} 2012 {"id": 170原创 2021-05-27 18:32:13 · 392 阅读 · 0 评论 -
Hive表中数据导入HBase
确保hive/lib/目录下有个hive和hbase连接的jar包首先看一下HBase中的表结构在Hive中创建外部表create external table stud(rowkey string,name_first string,name_last string,addr_city string,addr_country string,addr_street string)stored by 'org.apache.hadoop.hive.hbase.HBaseStorageH原创 2021-04-12 17:36:53 · 234 阅读 · 0 评论 -
Hive---性能调优
文章目录一、调优工具1、explain2、analyze二、优化设计三、配置优化1、设置本地模式2、JVM重用3、并行执行四、查询优化1、自动启动Map端的join2、启用CBO(Cost based Optimizer):负载均衡3、启用Vectorization(矢量化)4、使用CTE、临时表、窗口函数等正确的编码约定五、压缩一、调优工具1、explainexplain 查询语句;由于Hive中没有索引,那我们还explain什么呢?答:第一、ORC文件和Parquet格式文件是自带索引,可原创 2021-04-08 14:17:05 · 217 阅读 · 1 评论 -
Hive事务
Hive事务使用较少!!!使用较少!!!使用较少!!!一般不用,给钱也不用,除非给的足够多V0.14版本开始支持行级事务支持INSERT、DELETE、UPDATE(v2.2.0开始支持Merge)文件格式只支持ORC局限 表必须是bucketed表需要消耗额外的时间、资源和空间不支持开始、提交、回滚、桶或分区列上的更新锁可以为共享锁或排它锁(串联的而不是并发)不允许从一个非ACID连接读写ACID表有那么多问题你还想用Hive事务?加钱后使用方式1、设置好配置set hi原创 2021-04-08 10:55:28 · 95 阅读 · 0 评论 -
Hive---UDTF
UDTF逻辑代码步骤类 继承 GenericUDTF{ initialize()//初始化 pocess() //业务处理 close() //关闭资源}例子:splToLines():字符串指定分割符切分select splToLines(“a,b,c”,",");结果:abc代码package HiveUDF1.udtf;import org.apache.hadoop.hive.ql.exec.Description;import org.apache.hadoop.原创 2021-04-07 21:55:37 · 82 阅读 · 0 评论 -
Hadoop常用数据模型(文件存储格式)
文章目录一、Text二、SequenceFile三、Avro四、Parquet五、RC & ORC一、Text文本通常采用CSV,JSON等固定长度的纯文本格式优点:1、便于与其他应用程序或脚本进行数据交互2、易读性好,便于理解缺点:1、数据存储量庞大2、查询效率不高3、不支持块压缩二、SequenceFile按行存储二进制键值对数据,HDFS自带的数据格式SequenceFIle中的key和value可以是任意类型的Writable特点以及作用:二进制文件直接将原创 2021-04-07 16:35:55 · 1382 阅读 · 0 评论 -
Hive---UDF
【前言】UDF:自定义标准函数UDAF:自定义聚合函数UDTF:自定义表生成函数文章目录一、添加依赖二、编写UDF代码三、测试四、打包置Linux上执行一、添加依赖 <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <version>2.6.0</ver原创 2021-04-06 14:24:22 · 154 阅读 · 1 评论 -
Hive常用函数
文章目录一、字符函数二、类型转换函数三、数学函数四、日期函数五、集合函数六、条件函数七、聚合函数八、表生成函数一、字符函数二、类型转换函数三、数学函数四、日期函数五、集合函数六、条件函数七、聚合函数count、sum、max、min、avg、var_samp等八、表生成函数...原创 2021-04-06 13:54:29 · 73 阅读 · 0 评论 -
Hive---高级技术
文章目录一、Mapjoin二、数据传输三、排序四、聚合函数五、窗口函数窗口定义一、Mapjoinset hive.auto.convert.join=true;运行时自动调用Mapjoin,效率会提高:原因是减少reduce操作,reduce操作耗内存二、数据传输1、load文件->表load data local inpath “本地路径” into table 表名load data inpath ‘HDFS路径’ into table 表名表->文件insert ove原创 2021-03-31 15:26:08 · 137 阅读 · 0 评论 -
Hive---分区和分桶
文章目录一、分区1.创建2.插入二、分桶1.创建2.插入3、随机抽样三、分区和分桶的区别一、分区1.创建create table 表名(字段1 属性,...)partitioned by (字段名 属性) //注意这个分区中的字段名最好不要和表中的字段名相同row format ...;2.插入insert into 表名partition(字段名="XXX")select * from 其他表 where 条件;严格模式:不加where 条件不允许全表查看严格模式查询:原创 2021-03-30 16:17:41 · 200 阅读 · 2 评论 -
Hive命令
文章目录一、创建二、查询三、删除一、创建1、标准格式create [external] table employee(name string,address array<string>, //数组genderAndAge struct<gener:string,age:int>, //结构体jobAndSalary map<string,int>, //集合depAndLevel map<string,string>原创 2021-03-29 13:59:44 · 184 阅读 · 0 评论 -
Hive---select语句什么时候不走MR
其实普通全表查询—不需要走MR例如:select * from 表名 ,这是通过对文件进行filter过滤就可以实现查询count、sum、group等聚合函数—是一定会走MR的【注意:配置简单查询不走MR的方式】在hive-site.xml里面有个配置参数:hive.fetch.task.conversion将这个参数设置为more,简单查询就不走map/reduce了,设置为minimal,就任何简单select都会走map/reduce不走MR的各种情况:1、等值判断select *原创 2021-04-20 16:19:45 · 1709 阅读 · 1 评论 -
Sqoop
文章目录一、定义二、配置文件三、使用一、定义Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。二、配置文件修改 sqoop/conf/sqoop-env.sh添加如下代码:export HADOOP_COMMON_HOME=/o原创 2021-04-12 17:37:17 · 142 阅读 · 0 评论 -
Hive
【前言:】我们都知道hive创建的表其实是HDFS上文件的映射,我们写的HiveSQL基本都会执行MapReduce操作,除了一些“select * from 表名”;HiveSQL和MySQL语句基本一样文章目录一、Hive中的数据类型二、内部表和外部表的区别三、Hive命令一、创建表二、插入三、查询四、修改和删除一、Hive中的数据类型基本数据类型复杂数据类型元数据结构二、内部表和外部表的区别三、Hive命令一、创建表创建表时,结构要想好,不推荐修改表结构,其实,在讲MySQL原创 2021-03-26 16:35:39 · 175 阅读 · 0 评论 -
使用DBeaver连接Hive
一、首先开启server2服务hiveserver2 start nohup hiveserver2 start & :后台运行二、下载jar包下载地址:点这里三、使用DBeaver下载地址:点这里下载并解压缩后直接运行添加文件中找到第一步下载的jar包,就可以了最终就是这样的界面...原创 2021-03-26 16:00:18 · 150 阅读 · 0 评论 -
Hive的安装和配置
【前言】确保当前机器上装有可用的mysql,没有的可以参考这篇文章:点这里文章目录一、安装二、创建Hive本地文件夹三、配置环境变量四、配置文件五、启动一、安装tar -zxvf hive-1.1.0-cdh5.14.2.tar.gzmv 改名二、创建Hive本地文件夹进入hive目录mkdir warehouse三、配置环境变量vi /etc/profile添加export HIVE_HOME=/opt/soft/hiveexport PATH=$HIVE_HOME/bin:原创 2021-03-26 11:30:57 · 351 阅读 · 0 评论