- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用Python中HBase的HappyBase API,可以通过以下方式执行批量插入:
import happybase
connection = happybase.Connection()
table = connection.table('table-name')
batch = table.batch()
# put several rows to this batch via batch.put()
batch.send()
如果该批处理中途失败会发生什么?已保存的行是否仍保留,未保存的行是否不保存?
我在 HappyBase github 中注意到,table.batch()
方法采用 transaction
和 wal
作为参数。是否可以将这些配置为在批处理中途失败时回滚成功保存的行?
happybase会在这里抛出异常,这将允许我记下行键并执行批量删除吗?
最佳答案
您是否遵循了 Happybase 文档中有关批量突变的教程?看起来你在这里混淆了一些东西。 https://happybase.readthedocs.org/en/latest/user.html#performing-batch-mutations
批处理纯粹是一种性能优化:它们避免了存储/删除的每一行往返于 Thrift 服务器,这可能会导致显着的加速。
上下文管理器行为(with
block ),正如上面链接的用户指南中的大量示例所解释的那样,是一个纯粹的客户端便利 API,使应用程序代码更易于编写和推理。如果 with
block 成功完成,所有突变都会一次性发送到服务器。
但是...这只是幸福的道路。如果 with
block 中的某个地方引发了一些 Python 异常,该怎么办?这就是 transaction
标志发挥作用的地方:如果 True
,则根本不会向服务器发送任何数据;如果 False
,则任何待处理的数据都会被发送到服务器。反正脸红了。首选哪种行为很大程度上取决于您的用例。
关于python - HBase 的 HappyBase 和原子批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30565120/
我正在使用 HappyBase 作为 Python Thrift 客户端来连接到 HBase。 我正在扫描表格,需要在多个列上使用过滤器。如何在 HappyBase 中实现这一点? Java 使用过滤
我一直在使用 java 和 python 测试 table.put。 在java中,您可以将int或float值写入列中。使用happybase table.put(line_item_key, {'
我一直在使用 java 和 python 测试 table.put。 在java中,您可以将int或float值写入列中。使用happybase table.put(line_item_key, {'
使用Python中HBase的HappyBase API,可以通过以下方式执行批量插入: import happybase connection = happybase.Connection() ta
我有一个使用 happybase 连接到 Hbase 的 mapreduce 程序。我收到以下错误 文件 /hadoop/yarn/local/usercache/aprakash/appcache/
>>>import happybase >>>cnx=happybase.Connection('localhost') Traceback (most recent call last): File
我想扫描一个大表以获取 ID 列表(或 ID 前缀)(使用 Python HappyBase)。 有没有办法在服务器端做到这一点?也就是说,我想在一个 API 调用中发送要扫描的开始/停止行列表,而不
在尝试解码来自 HBase 的值时,我看到了一个错误,但很明显 Python 认为它不是 UTF-8 格式,而是将数据放入 HBase 的 Java 应用程序仅以 UTF-8 编码 a = '\x00
我正在尝试编写一个函数来更新保存在 HBase 中的表中的数据。我有一个函数会被调用来更新它,我有一个很好的开始,但在完成它的时候我有点迷茫。我可以将基于一个字符串的单行更新为另一个字符串,但是在比较
我正在尝试使用 Happybase 创建一个表。首先,我输入以下命令让 Hbase 和 Thrift 运行: start-hbase.sh hbase thrift start & 运行后,我打开 P
我正在为其制作 UI 的特定 HBase 表中的所有行恰好具有相同的列,并且在可预见的将来也会如此。我希望我的 html 数据可视化应用程序简单地查询单个随机行以记录列名,并将这个列名列表放入一个变量
我正在运行一个 map-reduce 作业,现在我想将值输入到 hbase 中。我通过 stdin 从 map-reduce 作业流式传输值,并有一个 python 脚本在 happybase 上插入
我已经安装了 Cloudera Manager Express 5.9.0 安装了 HBase,Thrift 服务器在 VirtualBox 虚拟机中的 CentOS 7.3 上的端口 9090 上运
我正在使用 happybase 连接到 HBase。到目前为止,连接很好。我们已经启动并运行节俭。我能够连接到表 (AFAIK),但是当我尝试扫描表时,我得到了 TTransportException
我使用以下使用happybase模块的python代码来更新hbase。这对于少于 30k 记录的文件非常有效。但是超过 30k-35k 时会抛出超时错误。我通过编辑 hbase_site.xml 和
我有一个 PySpark 作业可以更新 HBase 中的一些对象(Spark v1.6.0;happybase v0.9)。 如果我为每一行打开/关闭一个 HBase 连接,它会有点工作: def p
我是一名优秀的程序员,十分优秀!