Hive一键搭建:轻松创建数据库 (hive 创建数据库)

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.5\htdocs下新建一个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 创建数据库)