问题标签 [happybase]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
988 浏览

python - AWS Hbase:无效的方法名称:'getTableNames'

我在 AWS EMR 上使用 Hbase 0.94.18。我打算使用 HappyBase,因为它看起来很有前途。不幸的是,我第一次尝试就遇到了这个问题:

你能帮我么?

0 投票
2 回答
472 浏览

cassandra - 使用宽列存储构建复合主键是否正确?

HBase 和 Cassandra 构建为宽列存储,使用行和列的概念。

一行由一个类似于RDBMS中的主键概念的键和一个若干列组成的值组成

表示可以如下:

在应用程序层是否正确,构建组合主键以允许快速迭代并置的行。

这可以表示如下。

name从 移到Value并且Key只有Value一个列名value

0 投票
0 回答
517 浏览

apache-spark - import happybase 在 pyspark shell 中有效,但在 spark-submit 中无效

我在 spark 集群(YARN 集群管理器)的所有节点上都安装了 happybase。
import happybase在 pyspark shell 中工作,当我使用 bin/pyspark 启动应用程序时也可以工作。
但是当我尝试使用 spark-submit 启动应用程序时,它会抛出:

0 投票
1 回答
185 浏览

python - 我如何在happybase 中运行RandomRowFilter

我想通过happybase对hbase中的rowkey进行采样(因为内存限制)所以我​​搜索并实现

但它总是说 thrift.Thrift.TApplicationException: Internal error processing scannerOpenWithScan

python中是否有RandomRowFilter示例的示例代码?

由于 [ thrift hbase client - support filters and coprocessors我运行了这段代码,版本检查没问题...

请帮我

0 投票
1 回答
534 浏览

python - 从 HBase 解码 HappyBase 数据

在尝试从 HBase 解码值时,我看到一个错误,但很明显 Python 认为它不是 UTF-8 格式,而是将数据放入 HBase 的 Java 应用程序仅将其编码为 UTF-8

a = '\x00\x00\x00\x00\x10j\x00\x00\x07\xe8\x02Y' a.decode("UTF-8") Traceback(最近一次调用最后):文件“”,第 1 行,在文件“/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/encodings/utf_8.py”,第 16 行,在 decode return codecs.utf_8_decode(input, errors, True) UnicodeDecodeError: 'utf8 ' 编解码器无法解码位置 9 中的字节 0xe8:无效的继续字节

有什么想法吗?

0 投票
2 回答
901 浏览

python - 如何保护与 HBase Thrift 服务器的客户端连接?

任何知道 HBase Thrift 服务器的端口和主机并且可以访问网络的人都可以访问 HBase。这是一个安全风险。如何确保客户端对 HBase Thrift 服务器的访问安全?

0 投票
1 回答
1404 浏览

python - 从 PIG 运行时“没有名为 happybase 的模块”

我有一个 Python UDF,它使用 Happybase 连接到 HBase。如果我从 Python 2.7 运行代码,它会完美运行。

但是,当我从 Pig 0.15.0 调用 Python UDF 时,出现以下错误:

错误 org.apache.pig.tools.grunt.Grunt - 错误 1121:Python 错误。Traceback(最近一次调用最后):import happybase ImportError:没有名为happybase的模块

在我的 Pig 脚本中,我正在注册我的 Python 脚本(pigtest.py),如下所示:

我尝试在我的 Python 脚本中设置 Happybase 路径,如下所示,但这并没有什么不同:

我还尝试将“ /usr/local/lib/python2.7/dist-packages/happybase ”添加到 .bashrc 文件中的 JYTHON_PATH (我在 Ubuntu 上),但出现了同样的错误。

在我看来,我需要在某个地方设置 Happybase 路径,但我不知道在哪里。

0 投票
2 回答
207 浏览

python - 将内容写入已经有标题的json文件

所以我正在试验happybase,我想将扫描序列的内容写入一个带有我已经放入的骨架的json文档。这是预期输出文件的骨架:

从代码中我希望为预期的 json 文件实现这种最终格式:

我的 Hbase 表的结构是这样的:

这是我用来访问表的代码:

我想知道如何实现我想要的 json 输出文件,以及如何停止写入 json 的内容被打印出来,如下所示:

因为这是输出文件中显示的当前输出

0 投票
1 回答
5239 浏览

python - 为什么当我尝试运行 table.scan() 时,happybase 返回“TSocket read 0 bytes”?

我正在使用happybase 连接到HBase。到目前为止,连接良好。我们已经开始节俭了。我能够连接到表(AFAIK),但是当我尝试扫描表时,我得到TTransportException: TSocket read 0 bytes. 这是我正在使用的代码。

我在这里使用 break 所以它不会打印出谷歌行。我只想看到它正在建立连接并引入数据。

这是错误。

0 投票
1 回答
1397 浏览

java - Java 和 Python 中对 HBase 的并行扫描请求具有不同的性能

陈述

我们有 10 台机器 HBase 集群和内部数十亿行。每行由一个列族和约 20 列组成。我们需要执行包含起始行前缀和结束行前缀的频繁扫描请求。通常每次扫描都会返回大约 100 - 10000 行。

因为请求可以非常频繁地出现(每分钟最多几个请求),所以性能是优先考虑的。由于系统的架构,我们希望用 Python 而不是当前的 Java 代码来实现我们的解决方案。问题在于 Python 的性能比 Java 差 5 到 10 倍。

现在什么工作

我们有对 HBase 执行扫描请求的 Java 代码。它使用常用的 HBase Java API:

这些查询在Callableinterface 和ScheduledThreadPoolExecutor. call()每个可调用的方法都只是运行getNumber(Number key)

这工作得很好,并允许实现以下性能:

  • 每次扫描1.5 - 2.0 秒和
  • 每 100 次并行扫描5.0 - 8.0 秒

我们尝试什么

我们尝试借助Happybase库在 Python 中实现类似的解决方案:

取得的成绩:

  • 每次扫描2.0 - 3.0 秒,并且
  • 每 100 次并行扫描30 - 55 秒

正如我们所见,单次扫描的性能非常相似。但是 Python 中的并行任务要慢得多。

任何想法为什么会发生?也许我们的 Python/Happybase 代码有问题?还是 HBase Thrift 服务器(HappyBase 用来连接 HBase)的性能?