我有一个Spark项目,它使用HBase作为键/值存储。我们从一开始就实现了更好的CI / CD实践,我正在编写一个python客户端来运行针对自包含AWS环境的集成测试。
虽然我能够轻松提交我们的火花作业并将其作为EMR步骤运行。我还没有找到一种从python与HBase交互的好方法。我的目标是能够针对示例HDFS数据运行我们的代码,然后在HBase中验证我得到了我期望的结果。任何人都可以建议一个好方法吗?
另外,我的测试集非常小。如果我能将整个HBase表读入内存并以这种方式检查,我也会很高兴。非常感谢社区的投入。
答案 0 :(得分:0)
这是使用Happybase API和Thrift Server从Python读取HBase数据的简单方法。
在Hbase服务器上启动thrift服务器:
( time ./foo ) 2&>1 | tee log.txt
然后从Python:
/YOUR_HBASE_BIN_DIR/hbase-daemon.sh start thrift
正如评论中所讨论的,如果您尝试将内容传递给Spark工作程序,这将无效,因为上述HBase连接不可序列化。因此,您只能从主程序中运行此类代码。如果你想出办法 - 分享!