如何从 Kudu 读取到 python

how to read from Kudu to python

我正在尝试从 Kudu 检索数据。但是我无法在 anaconda 或我的服务器中安装 kudu-python 包。我可以得到一些帮助吗?网上的文档不是很清楚。

@Karthik,你遇到什么错误了吗?我刚刚在 Centos 6.9 上的 Anaconda 上安装了 kudu-python 客户端。版本控制有一个问题,但除此之外它很简单。我 运行 犯的唯一错误是

kudu/client.cpp:589:30: fatal error: kudu/util/int128.h: No such file or directory

这里有一个解决方案:https://community.cloudera.com/t5/Data-Ingestion-Integration/can-not-install-kudu-python/td-p/67496

否则,步骤为: 1. 按照 Kudu 网站上的说明安装 kudu 客户端库 (https://kudu.apache.org/docs/installation.html#_install_on_rhel_or_centos_hosts):

wget http://archive.cloudera.com/kudu/redhat/6/x86_64/kudu/cloudera-kudu.repo
sudo mv cloudera-kudu.repo /etc/yum.repos.d/
sudo yum update
sudo yum install kudu kudu-client0 kudu-client-devel
  1. 安装一堆开发依赖项,如果你还没有的话:

    sudo yum install autoconf automake libtool make gcc gcc-c++

  2. 安装Cython和kudu-python

    pip install Cython kudu-python==1.2.0

安装完成后,您可以在 https://github.com/apache/kudu/tree/master/examples/python

中找到示例

我无法安装kudu-client(不支持windows os)所以我使用集群的Impala来获取 Kudu 的表:

from impala.dbapi import connect
conn = connect('<Impala Daemon>', port=21050) 
cursor = conn.cursor()
cursor.execute('SELECT * FROM mytable LIMIT 100')
print(cursor.description)  # prints the result set's schema
results = cursor.fetchall()

https://github.com/cloudera/impyla