gpt4 book ai didi

php - 使用PHP连接Hive Server2

转载 作者:行者123 更新时间:2023-12-02 21:38:25 26 4
gpt4 key购买 nike

我想使用PHP连接Hive Server2,为此,我发现唯一的选择是Apache Thrift可用。

但是它仅适用于Hive Server1,不适用于Hive Server2。在搜索到更多信息后,这是因为在打开传输连接时,旧服务器希望通过SASL进行身份验证。 Hive Server 2默认使用SASL-不幸的是,PHP缺少TSaslClientTransport版本(用作另一个TTransport对象的包装器),该版本在打开传输连接时处理SASL协商。

有没有人成功使用php连接hive server2。

最佳答案

<?php

// set THRIFT_ROOT to php directory of the hive distribution
$GLOBALS['THRIFT_ROOT'] = '/lib/php/';
// 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
$transport = new TSocket('localhost', 10000);
$protocol = new TBinaryProtocol($transport);
$client = new ThriftHiveClient($protocol);
$transport->open();

// run queries, metadata calls etc
$client->execute('SELECT * from src');
var_dump($client->fetchAll());
$transport->close();

?>

这是apache网站上的文档:
https://cwiki.apache.org/confluence/display/Hive/HiveClient#HiveClient-PHP

关于php - 使用PHP连接Hive Server2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30458063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com