但是这样就会出现一个情况:Derby是单例的,当你在一个终端打开了hive时,在另外一个终端打开hive命令行会报错。所以使用MySQL来存储元数据能够解决这个问题,并且也更方便迁移和备份。...配置Mysql服务端 安装Mysql服务器之后,你需要配置允许root用户的登录权限 打开MySQL客户端 mysql -uroot -p 使用Mysql数据库 use mysql 查询user表 select...-8.0.21.jar,将jar包移动至 /opt/apache-hive-1.2.2-bin/lib 下 配置Hive中MySQL的连接 第一步,在Hive的conf目录中新建文件hive-site.xml...Hive的metastore 的MySQL数据库的字符集格式问题。...的数据表的初始化,按照上述第三步,在启动Hive前初始化下数据表即可:使用 schematool -dbType mysql -initSchema 命令进行初始化。
Hive的metastore默认是存储在Derby数据库里面,只能用于单元测试,并且一次只能有一个进程连接到metastore的数据库。...所以在实际的应用中,需要将metastore存储在一些关系型数据库里面。 Hive支持MySQL,Postgres,Oracle,MS SQL Server这四种数据库。...配置Hive Metastore存储到MySQL 需要在hive-site.xml配置如下的参数 Config Param Config Value Comment javax.jdo.option.ConnectionURL...to MySQL server 打开$HIVE_HOME/conf下的hive-site.xml 添加上表中的配置到hive-site.xml中,如下图所示 WX20181116-231121@2x.png...然后使用Hive Schema Tool初始化Schema schematool -dbType mysql -initSchema 至此,我们就将Hive的Metastore存储到了MySQL中。
一、Hive的简单使用 基本的命令和MySQL的命令差不多 首先在 /opt/datas 下创建数据 students.txt 1001 zhangsan 1002 ...二、 安装Mysql 将Mysql安装包上传到服务器上,然后解压压缩包,使用命令:unzip mysql-libs.zip ?...配置好后执行一下 bin/hive 在mysql数据库中可以看见 hive给自动创建的数据库 ? 查看一下这个数据库中的表 ?...这个就是Hive的元数据所创建的 四、Hive的基本使用 # 查看 所有的数据库 show databases ; # 创建数据库 create database db_hive ; # 创建一张数据表...table db_hive.student ; # 查看Hive中支持的命令 show functions ; # 显示某个功能的用法 desc function upper ; # 对这个功能的使用来一个
大家好,又见面了,我是你们的朋友全栈君。 在使用hive进行开发时,我们往往需要获得一个已存在hive表的建表语句(DDL),然而hive本身并没有提供这样一个工具。...要想还原建表DDL就必须从元数据入手,我们知道,hive的元数据并不存放在hdfs上,而是存放在传统的RDBMS中,典型的如mysql,derby等,这里我们以mysql为元数据库,结合0.4.2版本的...连接上mysql后可以看到hive元数据对应的表约有20个,其中和表结构信息有关的有9张,其余的10多张或为空,或只有简单的几条记录,以下是部分主要表的简要说明。...Hive表分区名(键值) PART_ID 除了上面几张表外,还有两张表非常有趣:NUCLEUS_TABLES和SEQUENCE_TABLE NUCLEUS_TABLES表中保存了元数据表和hive中class...有了上面的信息,再想获得hive的建表语句已经是易如反掌了,这里提供一个已经开发好的脚本,使用shell开发,大家可以自由修改。注意:其中mysql连接信息请根据实际环境进行配置。
Hive的三种安装模式和MySQL搭配使用 一、Hive的安装方式 hive的安装一共有三种方式:内嵌模式、本地模式、远程模式 元数据服务(metastore)作用是:客户端连接metastore服务...1、内嵌模式 内嵌模式使用的是内嵌的Derby数据库来存储元数据,也不需要额外起Metastore服务。数据库和Metastore服务都嵌入在主Hive Server进程中。...远程模式的metastore服务和hive运行在不同的进程里。 在生产环境中,建议用远程模式来配置Hive Metastore。...二、Hive的安装 我们在此处选择第三台机器node3作为我们hive的安装机器,安装方式使用远程方式。.../dist/hive/ 2、下载mysql的安装包,我们使用的mysql版本是5.7.29,软件包为:mysql-5.7.29-linux-glibc2.12-x86_64.tar.gz 下载地址:https
配置Hive使用MySql存储元数据 2018-7-24 作者: 张子阳 分类: 大数据处理 默认情况下,Hive会使用Derby来存储元数据(主要是表、列、分区Partition的信息)。...Hive支持使用单独的数据库来存储元数据,比如MySql、PostgreSql等,本文将介绍如何配置Hive使用MySql存储元数据。 本文假设你已经单机安装、配置好了MySql和Hive。...如果没有,可以参考下面两篇文章: 使用Docker安装和配置MySql Linux上安装和配置Hive 安装MySql连接器 前往:https://dev.mysql.com/downloads/connector...解压后,将mysql-connector-java-5.1.xx.jar,上传到Linux的 $HIVE_HOME/lib 文件夹下。...MySql来存储Hive元数据的配置。
5.7推荐使用ALTER USER修改密码 MySQL修改用户的密码主要有:ALTER USER 和UPDATE用户表 ALTER USER 推荐用此方式 mysql -uroot -p 连接上以后.../bigdata/ 复制Mysql连接的JAR cp mysql-connector-java-8.0.28.jar /data/tools/bigdata/apache-hive-2.3.9-bin/.../ 初始化库 Hive的数据库MySQL在安装的时候没有初始化 在MySQL中 # 删除mysql中的元数据库 drop database metastore; # 新建一个元数据库 create database...HSQL 以下介绍常用的Hive的类SQL语句。...FROM sales JOIN things ON (sales.id = things.id); 查看hive为某个查询使用多少个MapReduce作业 Explain SELECT sales.,
hive.metastore.uris Thrift uri for the remote metastore... javax.jdo.option.ConnectionURL jdbc:mysql:/.../localhost:3306/mysql?...password to use against metastore database 修改完后 在spark中启动thriftserver,随后在spark的bin.../beeline -u jdbc:hive2://yangsy132:10000/default -n root -p yangsiyi
这两者最基本的相似之处在于数据存储和属于查询系统。你可以使用SQL来访问这两种数据库的数据,因为它们都支持ANSI-SQL。...MySQL可以运行于Windows系统而不会发生冲突,在UNIX或类似UNIX系统上运行则更好。你还可以通过使用64位处理器来获取额外的一些性能。因为MySQL在内部里很多时候都使用64位的整数处理。...和官方那个套件,不过都没有SSMS的使用方便,这是mysql很大的一个缺点。...22mysql的存储过程只是出现在最新的版本中,稳定性和性能可能不如mssql。 23 同样的负载压力,mysql要消耗更少的CPU和内存,mssql的确是很耗资源。...24php连接mysql和mssql的方式都差不多,只需要将函数的mysql替换成mssql即可。
写在前面 mysql和hive版本: mysql版本:5.6.17 hive版本:2.1.1 一、GROUP_CONCAT功能 本功能测试基于以下数据表test_group: 1、简单功能实现对比...需求如下: 写出一个sql语句,按照category分组,并把组内的name使用“; ”分隔符连接。...(2)hive中 hive不提供GROUP_CONCAT函数,所以需要使用其他方法代替,我们可以使用CONCAT_WS()函数代替,如下: SELECT category, CONCAT_WS(...2、组内排序下的GROUP_CONCAT对比 需求如下: 写出一个sql语句,按照category分组,并把组内的name和level使用“name-level”格式使用“; ”分隔符连接,并在组内使用...: 二、字符串的split功能 1、hive中 在hive中,直接提供split函数,使用如下: hive> select split("1,2,3", ','); # 返回结果: hive
配置hive的metastore路径 hive.metastore.uris thrift://node1:9083 2、启动Hive的metastore服务 hive --service metastore...4、启动SparkShell 读取Hive中的表总数,对比hive中查询同一表查询总数测试时间。 ....注意: 如果使用Spark on Hive 查询数据时,出现错误: ?...Hive中的数据加载成DataFrame 1、HiveContext是SQLContext的子类,连接Hive建议使用HiveContext。
一、背景 在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。...二、技术细节 一个表可以拥有一个或者多个分区,每个分区以文件夹的形式单独存在表文件夹的目录下。 表和列名不区分大小写。...Load操作只是将数据复制至Hive表对应的位置。数据加载时在表下自动创建一个目录,文件存放在该分区下。...基于分区的查询的语句: SELECT day_table.* FROM day_table WHERE day_table.dt>= '2008-08-08'; 查看分区语句: hive> show...总的说来partition就是辅助查询,缩小查询范围,加快数据的检索速度和对数据按照一定的规格和条件进行管理。
一.基本概念 Hive分桶: 1.概念 分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。 对于hive中每一个表、分区都可以进一步进行分桶。...2.设置 set hive.enforce.bucketing=true; 默认:false;设置为true之后,mr运行时会根据bucket的个数自动分配reduce task个数。...(用户也可以通过mapred.reduce.tasks自己设置reduce任务个数,但分桶时不推荐使用) 注意:一次作业产生的桶(文件数量)和reduce task个数一致。...Lateral View概念 作用: Lateral View用于和UDTF函数(explode、split)结合来使用。...主要解决在select使用UDTF做查询过程中,查询只能包含单个UDTF,不能包含其他字段、以及多个UDTF的问题 语法: LATERAL VIEW udtf(expression) tableAlias
也正因如此,Hive实际上是用来做计算的,而不像数据库是用作存储的,当然数据库也有很多计算功能,但一般并不建议在SQL中大量使用计算,把数据库只当作存储是一个很重要的原则。...1、使用UDF (a)如果是已经上传到Hive服务器的UDF,可以直接用 create temporary function dosomething as 'net.hesey.udf.DoSomething...2、编写UDF 编写UDF十分简单,引入hive-exec包,继承org.apache.hadoop.hive.ql.exec.UDF类,实现evaluate方法即可,方法的输入和输出参数类型就是当你在...Hive中调用时的输入和返回值。...七、排序 在SQL中排序通过ORDER by实现,Hive中也支持这种语法,但是使用ORDER by时最终所有的数据会汇总到一个Reducer上进行排序,可能使得该Reducer压力非常大,任务长时间无法完成
一.前述 本节主要描述Hive的优化使用,Hive的优化着重强调一个 把Hive SQL 当做Mapreduce程序去优化 二.主要优化点 1.Hive运行方式: 本地模式 集群模式 本地模式 开启本地模式...Distribute By - 分区排序,经常和Sort By结合使用(SortBy对于最后的分区排序) Cluster By - 相当于 Sort By + Distribute By (Cluster...,即对小表使用Map join)(默认左边的加载到内存中去) 相关配置参数: hive.mapjoin.smalltable.filesize; (大表小表判断的阈值,如果表的大小小于该值则会被加载到内存中运行...; (将多个mapjoin转化为一个mapjoin时,其表的最大值) 6.Map-Side聚合(一般在聚合函数sum,count时使用) 通过设置以下参数开启在Map端的聚合: set hive.map.aggr...端聚合使用的内存的最大值 hive.map.aggr.hash.force.flush.memory.threshold: map端做聚合操作是hash表的最大可用内容,大于该值则会触发flush hive.groupby.skewindata
在集群上运行hbase的jar程序时报找不到scan的类库,输入 export HADOOP_CLASSPATH=$HBASE_HOME/lib/*:$CLASSPATH 安装mysql 1.先删除linux...[y/N]:y 2.下载 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源: wget http://repo.mysql.com/mysql57-...6.启动mysql service mysqld start 7.查看root的默认密码 cat /var/log/mysqld.log | grep password 8.登录mysql mysql...-uroot -p 9.修改root的默认密码 alter user 'root'@'localhost' identified by 'Www_110'; 10.创建hive的数据库 create...database hive; 11.创建一个用户,一般操作不要用root create user 'hiveme'@'%' identified by 'Www_110'; 12.给刚创建的用户授权 grant
中安装和使用StreamSets》,通过StreamSets实现数据采集,在实际生产中需要实时捕获MySQL、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的写入大数据平台的Hive、HDFS...本篇文章主要介绍如何使用使用StreamSets通过JDBC的方式实时抽取增量数据到Hive。 StreamSets实现的流程如下: ?...4.添加Hive Metadata 将JDBC 链接到 Hive Metadata 配置hive 的JDBC URL ? ? 配置数据库和要生成的表名,这里我们没有分区,删掉分区 ?...去HUE 中查看hive 表的数据,跟mysql 中同步,说明增量更新成功 ?...温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。 推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
Hive Thrift服务 1.启动Thrift为前台服务: bin/hiveserver2 2.启动为后台服务: nohup bin/hiveserver2 \ 1>/var/log/hiveserver.log...\ 2>/var/log/hiveserver.err & 3.启动成功后,可以在别的节点上用beeline去连接 方式1 hive/bin/beeline 回车,进入beeline的命令界面...connect jdbc:hive2://mini1:10000, 安装提示输入用户名与密码(默认回车) 方式2 或者启动就连接: bin/beeline -u jdbc:hive2://mini1...:10000 -n username mini1是hiveserver2所启动的那台主机名,端口默认是10000, username是启动hive服务那个用户名=>50070管理页面的Browse Directory...页面=>Owner用户名 4.接下来就可以和Hive Shell那样做正常SQL查询了。
默认存储在自带的derby数据库中,推荐使用MySQL存储Metastore。 3、Hadoop 使用HDFS进行存储,使用MapReduce进行计算。...1.4.7 可扩展性 由于 Hive 是建立在 Hadoop 之上的,因此 Hive 的可扩展性是和 Hadoop 的可扩展性是一致的(世界上最大的 Hadoop 集群在 Yahoo!...第2章 Hive安装、配置和使用 2.1 Hive安装地址 1、Hive官网地址 http://hive.apache.org/ ?...原因是:Metastore(元数据)默认存储在自带的derby数据库中,derby数据库是单一用户的,所以推荐使用MySQL存储Metastore。...ARRAY和MAP与Java中的Array和Map类似,而STRUCT与C语言中的Struct类似,它封装了一个命名字段集合,复杂数据类型允许任意层次的嵌套。
Hive使用的语句是Hql,和sql百分之九十都是相近的,因此,只要对SQL比较熟悉的,Hql基本不用怎么学。...这些元素可以通过"点语法"的方式来得到所需要的元素 「时间类型」 Date:从Hive0.12.0开始支持 Timestamp:从Hive0.8.0开始支持 常用DDL操作 查看数据列表 show databases...创建一个数据库,可以指定数据库在 HDFS 上存放的位置 hive > CREATE DATABASE hive_test location '/db_hive.db'; 查看数据库信息 语法: DESC...要想删除库及其中的表,可以使用 CASCADE 级联删除。...1 Runsen 2 Zhangsan 3 Lisi 除了可以将本地文件导入到HIve中,我们先把文件上传到HDFS,然后使用HDFS将数据导入到Hive中。
领取专属 10元无门槛券
手把手带您无忧上云