1、配置hive-site.xml文件,使用mysql作为metestore
mv hive-default.xml.template hive-site.xml
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>1</value>
<description>password to use against metastore database</description>
</property>
2、Hive操作实例
###创建内部表
create table user_info(id bigint, account string, name string, age int) row format delimited fields terminated by '\t';
create table trade_detail(id bigint, account string, income double, expenses double, time string) row format delimited fields terminated by '\t';
#导入数据
load data local inpath '/home/jzk/tmp/user_info' into table user_info;#从本地追加数据到表
load data inpath '/trade_detail' overwrite into table trade_detail;#从hdfs上导入数据到表(覆盖原先的表),并将hdfs上的数据删除
select t1.name,t1.account,t2.income,t2.expenses,t2.surplus from user_info t1 join (select sum(income) as income,sum(expenses) as expenses,sum(income-expenses) as surplus,account from trade_detail group by account) t2 on t1.account = t2.account;
该语句将转换成mapreduce过程
#创建外部表
create external table t_ext(id int,name string) row format delimited fields terminated by '\t' location '\ext';
#复杂类型的数据表
create table complex(name string,work_locations array<string>) row format delimited fields terminated by '\t' collection items terminated by ',';
数据内容
ngfengxiao beijing,shanghai,tianjin,hangzhou
linan changchu,chengdu,wuhan
select * from complex;
OK
ngfengxiao ["beijing","shanghai","tianjin","hangzhou"]
linan ["changchu","chengdu","wuhan"]
select name,work_locations[0] from complex;
###分区
create table classmem(student string,age int) partitioned by(teacher string);
分区文件
classmem_Misli
huangfengxiao 20
lijie 21
dongdong 21
liqiang 21
hemeng 21
classmem_MrXu
dingding 19
wangqiang 19
lidong 19
hexing 19
load data local inpath '/home/jzk/tmp/classmem_Misli' into table classmem partition (teacher='Mis.li');
load data local inpath '/home/jzk/tmp/classmem_MrXu' into table classmem partition (teacher='Mr.xu');
分享到:
相关推荐
在大数据处理领域,Hive是一个基于Hadoop的数据仓库工具,它可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,使得用户可以使用SQL语句对存储在Hadoop集群上的大规模数据进行分析和处理。JDBC(Java ...
本文将通过一个具体的Java与Hive结合的实例,深入讲解如何利用Java API进行Hive的操作,以加深对Hive语句的理解。 首先,要使用Java与Hive交互,我们需要引入Hive的JDBC驱动。在项目中,可以通过Maven或Gradle添加...
在DataGrip这样的专业数据库IDE中,Hive驱动是建立与Hive实例连接的必要部分。DataGrip是JetBrains公司推出的一款强大的数据库和SQL IDE,支持多种数据库管理系统,包括Hive。 要使用DataGrip连接到Hive 1.1.0,你...
元数据可以存储在本地MySQL或远程数据库中,以便多个Hive实例共享。 3. **Hive SQL(HQL)**:HQL是Hive提供的SQL方言,用于查询和管理数据。它支持SELECT、INSERT、UPDATE、DELETE等基本操作,以及JOIN、GROUP BY...
这暗示可能存在兼容性问题,或者是DataGrip内置的默认驱动与某些Hive实例不匹配,而此Uber JAR提供了一个可能的解决方案。 Hive JDBC是Apache Hive提供的Java数据库连接(JDBC)驱动,它允许开发者通过标准的JDBC...
3. **策略管理**:通过Web界面,管理员可以集中创建、修改和管理Hive的访问策略,这些策略可跨多个Hive实例进行应用。 4. **实时策略执行**:Ranger 插件与Hive Metastore集成,实现实时策略验证,当用户尝试访问...
3. **配置阿里云Hive连接**:如果Hive实例部署在阿里云上,你可能需要使用阿里云Hive JDBC驱动,其驱动类名可能不同,例如`com.aliyun.odps.jdbc.Driver`,请根据实际情况调整。 4. **创建新阿里云Hive连接**:在...
一旦配置完成,你可以启动Hive服务,包括Metastore Server和Hive Server2,然后通过Hive CLI或使用JDBC/ODBC连接到Hive实例。你可以创建表、加载数据、执行查询,并将结果导出到各种格式。 总之,"apache-hive-...
通过这个工具,用户可以轻松地在不同Hive实例之间进行数据同步,而无需手动编写复杂的网络通信代码。 6. **性能优化**: 为了提高同步效率,项目可能采用了多线程处理、数据压缩、数据分区同步等技术。同时,根据...
CLI是最常用的交互方式,它启动时会在后台运行一个Hive实例。Client模式允许用户远程连接到Hive Server。WUI则提供了一种通过浏览器访问Hive的途径。 2. 元数据存储:Hive的元数据(如表名、列信息、分区、表属性和...
例如,它会设置queryPlan(查询计划)、isdone标志为false,以及获取Hive实例等。Task的子类通常会覆盖这个方法,以便进行特定的初始化操作。 2. **executeTask()方法**:这是Task执行的主要入口点,它会调用抽象...
#### 第一部分:Hive数据查询分析技术和实例介绍 **一、Hive简介** Hive 是一个基于 Hadoop 的数据仓库工具,它允许用户轻松地将结构化数据文件映射为表,并利用 SQL 类似的查询语言(称为 HiveQL)来执行复杂的...
- 此模式下,Hive实例使用其内嵌的Derby数据库作为记录元数据的数据库,不便于团队成员间的共享协作。 #### 标准安装方式 - **使用MySQL作为元数据库**:这种方式适合生产环境下的部署,因为它支持多用户访问,...
总的来说,这个压缩包提供的资源可以帮助用户在Hadoop环境中建立一个使用MySQL作为元数据存储的Hive实例,便于管理和查询大规模的数据。通过Hive的SQL语法,用户可以轻松地对存储在HDFS上的数据进行分析,而MySQL-...
本实例将聚焦于如何使用Java和HiveJDBC来操作基于MySQL的Hive元数据存储。以下是一份详细的步骤指南和相关知识点解释: 1. **HiveJDBC简介**: HiveJDBC是Hive提供的一种JDBC驱动,使得任何支持JDBC的应用程序,如...
Scala代码积累之spark streaming kafka 数据存入到hive源码实例,Scala代码积累之spark streaming kafka 数据存入到hive源码实例。
6. **JDBC连接**:客户端可以使用JDBC驱动连接到启动了Hiveserver服务的Hive实例,例如通过`Class.forName("org.apache.hadoop.hive.jdbc.HiveDriver")`加载驱动,然后使用`Connection conn = DriverManager.get...
这个工具使得在分布式环境中对大数据处理变得更加便捷,因为Hive通常用于存储和查询大规模数据集,而REST API则提供了轻量级、灵活的远程调用方式。以下是关于HiveAPI、REST API、Apache Hive以及相关技术的详细解释...
大数据的hive资源的详细代码设计以及分享,望博友相互交流
4. Hive的高可用性(HA)原理:Hive HA实现原理是通过将多个Hive实例组成一个资源池,并对外提供统一的接口,由proxyrelay机制来实现负载均衡。这样做可以提高系统的可用性,使得每次查询都能分配到活跃的Hive实例上...