Hive是一个基于Hadoop的数据仓库架构,它是为了解决大规模数据的存储和分析而设计的。使用Hive,用户可以通过类SQL语句来查询和分析数据,其架构与传统的关系型数据库类似,因此不需要专业的MapReduce程序开发技术。Hive在很多场景下应用广泛,比如数据分析、数据挖掘、机器学习等。
但是,如果想要使用Hive,就需要首先进行搭建和配置。对于大多数开发人员来说,这是一项非常困难的任务,涉及到众多配置和命令,需要时间和精力。因此,在这里,我们介绍一种Hive一键搭建方法,可以轻松地快速创建数据库。
之一步:下载安装Hive
首先需要下载Hive的安装文件,然后进行安装。Hive可以通过Apache官网下载,也可以通过Linux发行版的包管理器进行安装。如果使用的是Debian或Ubuntu,可以使用以下命令进行安装:
sudo apt-get install hive
如果使用的是其他Linux发行版,可以查看官方文档或者针对特定发行版的操作指南来安装Hive。
第二步:搭建Hive数据库
安装完成Hive之后,需要对其进行配置来创建数据库。首先需要在Hadoop集群中创建一个目录,用于存储Hive数据。可以通过以下命令来创建目录:
hadoop fs -mkdir /user/hive/warehouse
然后需要给该目录授权,使得Hive可以读写该目录:
hadoop fs -chmod g+w /user/hive/warehouse
接下来需要配置Hive,可以通过修改Hive的配置文件hive-site.xml来进行配置。该文件位于Hive的安装目录下的conf目录中。可以使用文本编辑器打开该文件,并添加以下配置:
javax.jdo.option.ConnectionURL
jdbc:derby:/path/to/metastore_db;create=true
JDBC connect string for a JDBC metastore
javax.jdo.option.ConnectionDriverName
org.apache.derby.jdbc.EmbeddedDriver
Driver class name for a JDBC metastore
javax.jdo.option.ConnectionUserName
hive
Username to use agnst metastore database
javax.jdo.option.ConnectionPassword
hive
Password to use agnst metastore database
hive.metastore.warehouse.dir
/user/hive/warehouse
URI to database location
这些配置项包括Hive元数据存储在什么地方、使用什么数据库和数据库驱动程序以及要使用什么用户名和密码。
第三步:测试并使用Hive
完成了上述配置之后,可以通过启动Hive,测试一下是否能够正常工作。可以通过以下命令启动Hive:
hive
如果启动成功,则会打开Hive Shell,可以在其中输入SQL语句进行测试,比如:
hive> CREATE TABLE stocks (symbol varchar(10), price decimal(38, 2));
这条语句会创建一个名为stocks的表,其中包括了两个字段,一个为symbol字段,类型为varchar(10),另一个为price字段,类型为decimal(38, 2)。
此外,还可以通过Hive JDBC Driver来连接Hive,并通过Java程序访问Hive。可以在程序中使用Hive JDBC Driver来连接Hive,并执行SQL查询语句,比如:
Class.forName(“org.apache.hive.jdbc.HiveDriver”);
Connection con = DriverManager.getConnection(“jdbc:hive2://localhost:10000/default”, “hive”, “”);
Statement stmt = con.createStatement();
ResultSet res = stmt.executeQuery(“SELECT COUNT(*) FROM stocks”);
while (res.next()) {
System.out.println(“Total stocks: ” + res.getInt(1));
}
这条Java代码会连接Hive,执行一条查询语句,然后输出查询结果。
使用Hive可以轻松地进行大规模数据的存储和分析,但是需要进行搭建和配置。在本文中,我们介绍了一种Hive一键搭建的方法,可以大大减少配置时间和复杂度,让开发人员可以更加专注于数据的分析和挖掘等工作中。
相关问题拓展阅读:
大数据都是学哪些软件
Java:只要了解一些雀昌槐基础即可,做大数据不需要很深的Java技术,学迅拦javaSE就相当于有学习大数据。
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。
Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。
Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。
Hive:这个东顷友西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单
Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapRece、Spark脚本,还能检查你的程序是否执行正确。
Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。
Kafka:这是个比较好用的队列工具。
Spark:它是用来弥补基于MapRece处理数据速度上的缺点。
程序中的Hive具体是干什么用的呢?
Hive是基于Hadoop平台的数仓工具,具有
海量数据
存储、水平可扩展、离线批量处理的优点,解决了传统关系型数仓不能支持海量数据存储、水平可扩展性差等问题,但是由于Hive数据存储和数据处理是依赖于HDFS和MapReduce,因此在Hive进行数据离线批量处理时,需将查询语言先转换成MR任务,由MR批量处理返回结果,橡斗所以Hive没法满足数据实时查询分析的需求。
Hive是由FaceBook研发并开源,当时FaceBook使用Oracle作为数仓,由于数据量越来越大,Oracle数仓性能越来越差,没法实现海量数据的离线批量分析,因此基于Hadoop研发Hive,并开源给Apacha。
由于Hive不能实现数据实时查询交互,Hbase可提供实时在线查询能力,因此Hive和Hbase形成了良性互补。Hbase因为其海量数据存储、水平扩展、批量数据处理等优点,也得到了广泛应用。
Pig与HIVE工具类似,都可以用类
sql语言
对数据进行处理。但是他们应用场景有区别,Pig用于
数据仓库
数据的ETL,HIVE用于数仓
数据分析
。
从架构图当中,可看出Hive并没有完成数据的存储和处理,它是由HDFS完成数据存储,MR完成数据处理,其只是提供了用户查询语言的能力。Hive支持类sql语言,这种SQL称为Hivesql。用户可用Hivesql语言查询,其驱动可将Hivesql语言转换成MR任务,完成数据处理。
【Hive的访拿如高问接口】
CLI:是hive提供的命令行工具
HWI:是Hive的web访问接口
JDBC/ODBC:是两种的标准的
应用程序
编程访问接口
Thrift Server:提供异构语言,进行远程RPC调用消尺Hive的能力。
因此Hiv具备丰富的访问接口能力,几乎能满足各种开发应用场景需求。
【Driver】
是HIVE比较核心的驱动模块,包含
编译器
、优化器、执行器,职责为把用户输入的Hivesql转换成MR数据处理任务
【Metastore】
是HIVE的
元数据
存储模块,数据的访问和查找,必须要先访问元数据。Hive中的元数据一般使用单独的
关系型数据库
存储,常用的是Mysql,为了确保高可用,Mysql元数据库还需主备部署。
架构图上面Karmasphere、Hue、Qubole也是访问HIVE的工具,其中Qubole可远程访问HIVE,相当于HIVE作为一种公有云服务,用户可通过互联网访问Hive服务。
Hive在使用过程中出现了一些不稳定问题,由此发展出了Hive HA机制,
如何连接android和php mysql数据库
请注意:这里提供的代码只是为了使你能简单的连接Android项目和PHP,MySQL。你不能把它作为一个标准或者安全编程实践。在生产环境中,理想情况下你需要避免使用任何可能造成潜在注入漏洞的代码(比如MYSQL注入)。MYSQL注入是一个很大的话题,不可能用单独的一篇文章来说清楚,并且它也不在本文讨论的范围内,所以本文不以讨论。
1. 什么是WAMP Server
WAMP是Windows,Apache,MySQL和PHP,Perl,Python的简称。WAMP是一个一键安装的软件,它为开发PHP,MySQL Web应用程序提供一个环境。安装这款软件你相当于安装了Apache,MySQL和PHP。或者,你也可以使用XAMP。
2. 安装和使用WAMP Server
你可以从http://www。wampserver。com/en/下载WAMP,安装完成之后,可以从开始->所有程序->WampServer->StartWampServer运行该程序。
在浏览器中输入
来测试你的服务器是否安装成功。同样的缓悄,也可以打开
phpmyadmin来检验phpmyadmin是否安装成功。
3. 创建和运行PHP项目
现在,你已经有一个能开发PHP和MYSQL项目的环境了。打开安装WAMP Server的文件夹(在我的电脑中,是C:wamp),打开www文件夹,为你的项目创建一个新的文件夹。你必须把项目中所有的文件放到这个文件夹中。
新建一个名为android_connect的文件夹,并新建一个php文件,命名为test.php,尝试输入一些简单的php代码(如下所示)。输入下面的代码后,打开
android_connect/test.php,你会在浏览器中看到“Welcome,I am connecting Android to PHP,MySQL”(如果没有正确输入,请检查WAMP配置是否正确)
test.php
4. 创建扰乱渣MySQL数据库和表
在本教程中,我创建了一个简单的只有一张表的数据库。我会用这个表来执行一些示例操作。现在,陪咐请在浏览器中输入
phpmyadmin/,并打开phpmyadmin。你可以用PhpMyAdmin工具创建数据库和表。
创建数据库和表:数据库名:androidhive,表:product
CREATE DATABASE androidhive;
CREATE TABLE products(
pid int(11) primary key auto_increment,
name varchar(100) not null,
price decimal(10,2) not null,
description text,
created_at timestamp defaultnow(),
updated_at timestamp
);5. 用PHP连接MySQL数据库
现在,真正的服务器端编程开始了。新建一个PHP类来连接MYSQL数据库。这个类的主要功能是打开数据库连接和在不需要时关闭数据库连接。
新建两个文件db_config.php,db_connect.php
db_config.php存储数据库连接变量
db_connect.php连接数据库的类文件
db_config.php
connect();
}
// destructor
function__destruct() {
// closing db connection
$this->close();
}
/**
* Function to connect with database
*/
functionconnect() {
// import database connection variables
require_once__DIR__ . ‘/db_config.php’;
// Connecting to mysql database
$con= mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) ordie(mysql_error());
// Selecing database
$db= mysql_select_db(DB_DATABASE) ordie(mysql_error()) ordie(mysql_error());
// returing connection cursor
return$con;
}
/**
* Function to close db connection
*/
functionclose() {
// closing db connection
mysql_close();
}
}
?>怎么调用:当你想连接MySQl数据库或者执行某些操作时,可以这样使用db_connect.php
$db= newDB_CONNECT(); // creating class object(will open database connection)
1. 通过 MySQL在windows下的配伏袜亮置 中介绍第二种方法,在服务器机器上配置缺宽php和mysql环境,譬好判如我的服务器机器ip为:10.141.249.1362. 新建在test数据库下新建一个teacher表,表的内容如下:
3. 在服务器机器上的phpnow安装目录E:PHPnow-1.5.5htdocs下新建一个test.php文件,文件内容如下:
4. 新建一个Android Java Project
需要修改的是一下三个文件:AndroidTestActivity.java、main.xml、AndroidManifest.xml
//AndroidTestActivity.java
package
com.knight.android.test;//根据实际的工程需要,修改包的名称
import
java.io.BufferedReader;
import
java.io.InputStream;
import
java.io.InputStreamReader;
import
java.util.ArrayList;
import
org.apache.http.HttpEntity;
import
org.apache.http.HttpResponse;
import
org.apache.http.NameValuePair;
import
org.apache.http.client.HttpClient;
import
org.apache.http.client.methods.HttpGet;
import
org.apache.http.impl.client.DefaultHttpClient;
import
org.json.ONArray;
import
org.json.ONException;
import
org.json.ONObject;
import
android.app.Activity;
import
android.net.ParseException;
import
android.os.Bundle;
import
android.util.Log;
import
android.view.View;
import
android.widget.Button;
import
android.widget.EditText;
public
class
AndroidTestActivity
extends
Activity {
ONArray jArray;
String result
= null;
InputStream is
= null;
StringBuilder
= null;
@Override
public
void
onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button b1 = (Button) findViewById(R.id.button1);
b1.setOnClickListener(new
Button.OnClickListener()
{
@Override
public
void
onClick(View v)
{
//
TODO
Auto-generated
method stub
EditText tv = (EditText) findViewById(R.id.editView);
ArrayList nameValuePairs = newArrayList();
//
http get
try
{
HttpClient httpclient = new
DefaultHttpClient();
HttpGet httpget = new
HttpGet(
安卓端直接用http协议链接PHP端的程序,PHP端和MYSQL配合返回ON数据
hive 创建数据库的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于hive 创建数据库,Hive一键搭建:轻松创建数据库,大数据都是学哪些软件,程序中的Hive具体是干什么用的呢?,如何连接android和php mysql数据库的信息别忘了在本站进行查找喔。
来源地址:Hive一键搭建:轻松创建数据库 (hive 创建数据库)
转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:www.88531.cn资享网,谢谢!^^