软件环境:

linux系统: CentOS6.7
Hadoop版本: 2.6.5
zookeeper版本: 3.4.8

##主机配置:
######一共m1, m2, m3这五部机, 每部主机的用户名都为centos
```
192.168.179.201: m1
192.168.179.202: m2
192.168.179.203: m3

m1: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Master, Worker

m2: Zookeeper, Namenode, DataNode, ResourceManager, NodeManager, Worker

m3: Zookeeper, DataNode, NodeManager, Worker



####资料:

搭建教程:

http://lxw1234.com/archives/2015/09/487.htm

下载HPL/SQL地址:

http://www.hplsql.org/download

HPL/SQL官网:

http://www.hplsql.org/doc



---
<br>
####注意事项:
一定不能在`HPL/SQL`上使用`Hive`语法的语句,要使用`MySQL`或`Oracle`等其他`HPL/SQL`支持的数据库(具体可去官网查看),不然会报找不到`dual`表或者`dual`表中无该字段的错误,切记 ---
####版本选择:
在`HPL/SQL0.3.17`版本(必须是0.3.17或者0.3.17之后的版本)解决了强制读`From dual`表的问题, 而本次安装的是`Hive2.1.1`版本自带的是`HPLSQL0.3.31`版本, 已解决强制读`From dual`表的问题.
若要解决强制读`From dual`表的问题,应下载一个0.3.17或0.3.17之后版本的`HPL/SQL`, 然后将解压后得到的hplsql-0.3.17.jar包放入`$HIVE_HOME/lib`包下, 并重命名为`hive-hplsql-*.jar`格式的包,如:`hive-hplsql-0.3.17.jar` ---
<br>
<br>
####1.编辑hive-site.xml文件
HPL/SQL与Hive是通过`thrift`方式连接, 编辑`hive-site.xml`, 添加以下配置项

hive.server2.thrift.bind.host
m1

hive.server2.thrift.port
10000

```




####2.编辑hplsql-site.xml文件
配置HPL/SQL与Hive的连接, 创建`hplsql-site.xml`文件(若已有则无需创建), 并将以下配置项拷贝到文件中
```

hplsql.conn.default
hive2conn
The default connection profile

hplsql.conn.hiveconn
org.apache.hadoop.hive.jdbc.HiveDriver;jdbc:hive://
Hive embedded JDBC (not requiring HiveServer)

hplsql.conn.init.hiveconn

set mapred.job.queue.name=default;
set hive.execution.engine=mr;
use default;

Statements for execute after connection to the database

hplsql.conn.convert.hiveconn
true
Convert SQL statements before execution

hplsql.conn.hive2conn
org.apache.hive.jdbc.HiveDriver;jdbc:hive2://m1:10000
HiveServer2 JDBC connection

hplsql.conn.init.hive2conn

set mapred.job.queue.name=default;
set hive.execution.engine=mr;
use default;

Statements for execute after connection to the database

hplsql.conn.convert.hive2conn
true
Convert SQL statements before execution

hplsql.conn.db2conn
com.ibm.db2.jcc.DB2Driver;jdbc:db2://localhost:50001/dbname;user;password
IBM DB2 connection

hplsql.conn.tdconn
com.teradata.jdbc.TeraDriver;jdbc:teradata://localhost/database=dbname,logmech=ldap;user;password
Teradata connection

hplsql.conn.mysqlconn
com.mysql.jdbc.Driver;jdbc:mysql://localhost/test;user;password
MySQL connection

hplsql.dual.table
default.dual
Single row, single column table for internal operations

hplsql.insert.values
native
How to execute INSERT VALUES statement: native (default) and select

hplsql.onerror
exception
Error handling behavior: exception (default), seterror and stop

hplsql.temp.tables
native
Temporary tables: native (default) and managed

hplsql.temp.tables.schema

Schema for managed temporary tables

hplsql.temp.tables.location
/home/centos/soft/hive/tmp/plhql
LOcation for managed temporary tables in HDFS

hive.server2.thrift.bind.host
m1

hive.server2.thrift.port
10000

```




####3.配置dual表 (此步骤可跳过)
启动Hive服务,依照在`hplsql-site.xml`文件中的配置去创建(默认是在`default`库中创建了`dual`表)
```
use default;
create table dual(DUMMY VARCHAR(1));
```




####4.在使用hplsql存储过程前, 需先启动HiveServer2和Metastore服务
```
sh $HIVE_HOME/bin/hive --service metastore
sh $HIVE_HOME/bin/hive --service hiveserver2
```


Hive扩展功能(六)--HPL/SQL(可使用存储过程)的更多相关文章

  1. MySQL数据库(六)-- SQL注入攻击、视图、事物、存储过程、流程控制

    一.SQL注入攻击 1.什么是SQL注入攻击 一些了解sql语法的用户,可以输入一些关键字 或合法sql,来导致原始的sql逻辑发生变化,从而跳过登录验证 或者 删除数据库 import pymysq ...

  2. MySQL数据库(六) —— SQL注入攻击、视图、事物、存储过程、流程控制

    SQL注入攻击.视图.事物.存储过程.流程控制 一.SQL注入攻击 1.什么是SQL注入攻击 import pymysql conn = pymysql.Connect( user="roo ...

  3. Hive扩展功能(七)--Hive On Spark

    软件环境: linux系统: CentOS6.7 Hadoop版本: 2.6.5 zookeeper版本: 3.4.8 主机配置: 一共m1, m2, m3这五部机, 每部主机的用户名都为centos ...

  4. HPL/SQL与CDH5.4.7集成

    1.下载hplsql-0.3.13到本地并解压 2.修改plsql,为如下内容 #!/bin/bash export "HADOOP_CLASSPATH=/opt/cloudera/parc ...

  5. easyui datagrid 禁止选中行 EF的增删改查(转载) C# 获取用户IP地址(转载) MVC EF 执行SQL语句(转载) 在EF中执行SQL语句(转载) EF中使用SQL语句或存储过程 .net MVC使用Session验证用户登录 PowerDesigner 参照完整性约束(转载)

    easyui datagrid 禁止选中行   没有找到可以直接禁止的属性,但是找到两个间接禁止的方式. 方式一: //onClickRow: function (rowIndex, rowData) ...

  6. 在sql server中建存储过程,如果需要参数是一个可变集合怎么处理?

    在sql server中建存储过程,如果需要参数是一个可变集合的处理 原存储过程,@objectIds 为可变参数,比如 110,98,99 ALTER PROC [dbo].[Proc_totalS ...

  7. C#调用SQL中的存储过程中有output参数,存储过程执行过程中返回信息

      C#调用SQL中的存储过程中有output参数,类型是字符型的时候一定要指定参数的长度.不然获取到的结果总是只有第一字符.本人就是由于这个原因,折腾了很久.在此记录一下,供大家以后参考! 例如: ...

  8. 在易语言中调用MS SQL SERVER数据库存储过程方法总结

    Microsoft SQL SERVER 数据库存储过程,根据其输入输出数据,笼统的可以分为以下几种情况或其组合:无输入,有一个或多个输入参数,无输出,直接返回(return)一个值,通过output ...

  9. 总结一些关于操作数据库是sql语句还是存储过程问题

    总结一些关于操作数据库是sql语句还是存储过程问题 程序中,你跟数据的交互,需要向数据库拿数据.更改数据库的数据等,这些操作,本身不是程序完成的,而是程序发命令给数据库去做的,不管是通过sql语句方式 ...

随机推荐

  1. BZOJ2521 最小生成树 最小割

    5.26 T2:最小生成树 Description Secsa最近对最小生成树问题特别感兴趣.他已经知道如果要去求出一个n个点.m条边的无向图的最小生成树有一个Krustal算法和另一个Prim的算法 ...

  2. [USACO1.2]挤牛奶Milking Cows

    题目描述 三个农民每天清晨5点起床,然后去牛棚给3头牛挤奶.第一个农民在300秒(从5点开始计时)给他的牛挤奶,一直到1000秒.第二个农民在700秒开始,在 1200秒结束.第三个农民在1500秒开 ...

  3. Hero HDU4310 贪心

    When playing DotA with god-like rivals and pig-like team members, you have to face an embarrassing s ...

  4. uva 11212 - Editing a Book(迭代加深搜索 IDA*) 迭代加深搜索

    迭代加深搜索 自己看的时候第一遍更本就看不懂..是非常水,但智商捉急也是没有办法的事情. 好在有几个同学已经是做过了这道题而且对迭代加深搜索的思路有了一定的了解,所以在某些不理解的地方询问了一下他们的 ...

  5. MVC三层架构模式编程思想 JSP-Servlet-JavaBean

    MVC(Mdodel-View-Controller)编程模式.把一个Java应用分成三层:模型层.视图层.控制层,各层分别实现各层的功能,整个过程见下图就一目了然了. watermark/2/tex ...

  6. UVa 12279 - Emoogle Balance

    题目:给你n个数字推断.零和非零数字的个数差. 分析:简单题. 读入数据非零+1.为零-1. 说明:目标650题╮(╯▽╰)╭. #include <iostream> #include ...

  7. Swift 进阶

    iOS开发系列--Swift进阶 2015-09-21 00:01 by KenshinCui, 3072 阅读, 12 评论, 收藏, 编辑 概述 上一篇文章<iOS开发系列--Swift语言 ...

  8. LeetCode 500. Keyboard Row (键盘行)

    Given a List of words, return the words that can be typed using letters of alphabet on only one row' ...

  9. ArcGIS Runtime SDK for iOS中获取ImageServiceLayer的栅格值

    本文原创,转载请注明原创地址 http://blog.csdn.net/dongyu1009/article/details/37697389 用AGSImageServiceIdentifyTask ...

  10. java文件和目录的增删复制

    在使用java进行开发时常常会用到文件和目录的增删复制等方法.我写了一个小工具类.和大家分享,希望大家指正: package com.wangpeng.utill; import java.io.Fi ...