php开发Hive Web查询
#for i in `find ./ -name "*.thrift"`
>do
>cp ${i} /usr/local/www/hive/thrift
>done
|---transport
|---protocol
|---packages
||---fb303
||---hive_service
||---queryplan
||---hive_metastore
|---transport
||---TTransport.php
||---TNullTransport.php
||---TSocketPool.php
||---TMemoryBuffer.php
||---TFramedTransport.php
||---TBufferedTransport.php
||---THttpClient.php
||---TPhpStream.php
||---TSocket.php
|---autoload.php
|---Thrift.php
|---protocol
||---TProtocol.php
||---TBinaryProtocol.php
|---packages
||---fb303
|||---fb303_types.php
|||---FacebookService.php
||---hive_service
|||---hive_service_types.php
|||---ThriftHive.php
||---queryplan
|||---queryplan_types.php
||---hive_metastore
|||---ThriftHiveMetastore.php
|||---hive_metastore_types.php
|||---hive_metastore_constants.php
在方法里
找到
if ($buf === FALSE || $buf === '') {
修改为
if($buf === FALSE) {
找到两处
if ($md['timed_out']) {
均改为
if (true === $md['timed_out'] && false === $md['blocked']) {
--------------------------------------------
2.找到public function read($len)方法
在方法里找到
if ($data === FALSE || $data === '') {
修改为
if ($data === FALSE) {
找到一处
if ($md['timed_out']) {
修改为
if (true === $md['timed_out'] && false === $md['blocked']) {
{
keepalive_timeout 36000;
server {
location ~ \.php$
{
fastcgi_connect_timeout 36000;
fastcgi_send_timeout 36000;
fastcgi_read_timeout 36000;
}
}
} #sbin/nginx -s reload
#vi php-fpm.conf
process_control_timeout = 36000s
request_terminate_timeout = 36000s
#cd lib
#vi php.ini
max_input_time = 36000
default_socket_timeout = 36000
#killall php-fpm
#sbin/php-fpm -c lib/php.ini
$GLOBALS['THRIFT_ROOT'] = './libs/';
// load the required files for connecting to Hive
require_once $GLOBALS['THRIFT_ROOT'] . 'packages/hive_service/ThriftHive.php';
require_once $GLOBALS['THRIFT_ROOT'] . 'transport/TSocket.php';
require_once $GLOBALS['THRIFT_ROOT'] . 'protocol/TBinaryProtocol.php';
// Set up the transport/protocol/client
define('HOST','192.168.1.49');
define('PORT','10000');
$transport = new TSocket(HOST, PORT);
$protocol = new TBinaryProtocol($transport);
$client = new ThriftHiveClient($protocol);
//Create ThriftHive object
$transport->open();
$client->execute('add jar /opt/modules/hive/hive-0.7.1/lib/hive-contrib-0.7.1.jar');
$client->execute('show databases');
$db_array = $client->fetchAll();
$i = 0;
while('' != @$db_array[$i]) {
echo $db_array[$i];
$i++;
}
$transport->close();
?>
fetchOne() 返回一行结果
fetchN($numRows) 返回N行结果,给定行数
fetchAll() 返回全部结果集
getSchema() 获取Schema
getThriftSchema() 获取Thrift Server Schema
getClusterStatus() 获取集群状态,很贴心啊,还没试过
getQueryPlan() 获取QueryPlan
转载于:https://blog.51cto.com/slaytanic/766230
php开发Hive Web查询相关推荐
- java web数据库查询_Java Web开发之信息查询方式总结
本文实例讲述了Java Web开发之信息查询方式总结.分享给大家供大家参考.具体如下: 这里介绍的查询方式有: ① 根据某个特定的字段查询: ② 在多个字段中查询: ③ 根据任意字段查询: ④ 任意字 ...
- 十分钟上线-基于函数计算开发 Restful web api asp.net core web app
前言 这篇文章适合所有的 C# 开发新手.老鸟以及想准备学习开发 C# 的程序猿..NET Core是一个开源通用的开发框架,支持跨平台, 阿里云函数计算推出了 dotnetcore2.1 runti ...
- 使用 dotnet core 和 Azure PaaS服务进行devOps开发(Web API 实例)
引子 这一篇文章将用一个完整的实例,给大家介绍如何基于dotnet core(微软.NET的最新版本,支持跨平台,跨设备的应用开发,详情请参考 https://www.microsoft.com/ne ...
- php web访问数据库,百宝箱之介绍PHP Web查询数据库基本步骤
PHP是开发WEB动态页面的***编程,最近看了一本书收获很多,现在和大家一起分享一下PHP Web查询数据库的知识,下面我们就一起来看看吧.从PHP Web查询数据库的基本步骤: 1. 检查并过滤来 ...
- 实战 Java 第8天:开发商品详情查询接口
实战 Java 第8天:开发商品详情查询接口 前言 一.在 ProductService 类中添加接口 二.在 ProductMapper 类中添加接口 三.增加 sql 语句 四.在 Product ...
- 全栈开发和web开发_全栈开发人员:这是什么,以及如何成为一个完整的开发人员...
全栈开发和web开发 一个全职的开发人员是各行各业的杰作,也是一个备受追捧的求职者. 标题暗示着知识的广度,这对于人手不足的初创公司和管理复杂应用程序的大公司而言都是无价的. 但是, 术语" ...
- Hive用户接口(一)—Hive Web接口HWI的操作及使用
问题导读: 1.Hive提供了哪三种用户访问接口? 2.如何手动构建hive-hwi-*.war安装包? 3.hwi 服务启动命令是什么? 4.hwi启动之前需要将哪两个包拷贝到hive安装目录的li ...
- WebGIS开发和Web开发的区别
很多对GIS开发有一定了解的朋友应该知道,WebGIS开发是GIS开发岗位招聘中需求最高的. 学习GIS开发,第一步都是先学习Web开发基础(HTML5/CSS/JS),那WebGIS开发和Web开发 ...
- Python开发自定义Web框架
文章目录 开发自定义Web框架 1.开发Web服务器主体程序 2.开发Web框架主体程序 3.使用模板来展示响应内容 4.开发框架的路由列表功能 5.采用装饰器的方式添加路由 6.电影列表页面的开发案 ...
最新文章
- 公开课报名 | 详解CNN-pFSMN模型以及在语音识别中的应用
- Facebook:易于解释的神经元可能会阻碍深度神经网络的学习
- pyinstaller打包生成的exe文件(并设置运行时静默)
- 关于Jdk7与Jdk8对Collections进行分组的区别
- VisualNet在资源管理中的应用
- java weblogic反序列化_Weblogic JAVA反序列化漏洞攻防搭建(3)
- linux go语言环境配置文件,linux下安装配置go语言环境
- 设计模式心得:三——命令模式
- uci大学教育转计算机,UCI加州大学尔湾分校计算机科学硕士M.S. Computer Science
- 超详细前端开发案例:品优购商场项目(二)
- VMware ubuntu16安装
- gsm模块 java 录音_深入详解Android GSM驱动模块
- 软件发布!DOTA2统计学
- rapidxml往xml文件循环写入内容
- 百度大脑5.0实现史上最大升级,发布远场语音交互芯片“鸿鹄”
- 买房? 上区块链, 安排! 全国首张不动产区块链电子凭证诞生
- 瑞芯微RK3328芯片怎么样?RK3328处理器参数介绍
- 输入身份证号自动算出年龄,出生日期,性别
- Windows10共享CentOS文件系统(Samba的使用)
- YOLOV3--训练数据+视频检测
热门文章
- java的常用注解有哪些_spring系列笔记之常用注解
- 每日总结app_焊工日常工作的主要职责是什么?焊工证考试用什么APP复习?
- oracle中日期相减及显示几天几小时几分钟
- 批处理实现—循环Ping指定网段(检测网络时使用)
- ARM发布自动驾驶芯片架构,重新宣示车载系统市场的主权
- “每天AI资讯这么多!该看哪些?”推荐一份优质资料清单
- Pony.ai签约落户广州南沙,计划年底前推出无人车队
- Xamarin自定义布局系列——PivotPage(多页面切换控件)
- 大数据(3) - 高可用 HDFS HA
- 利用大数据构建智能交通