Golang 能操作Hive或hbase表吗,有方便的第三方库可用么?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang 能操作Hive或hbase表吗,有方便的第三方库可用么?相关的知识,希望对你有一定的参考价值。

找到个 https://github.com/araddon/hive 库,但用不了,执行会报错。

参考技术A http://thrift.apache.org/ , facebook的库,妥妥的追问

facebook的库怎么用?能提供下具体的操作步骤吗?谢谢。

追答

先去apache的网站上把tar包下到本地
\thrift-0.9.0\lib\go 这个路径下有你需要的东西,
C#的是编译一下直接出dll了,我想信你有办法搞成GO能用的库吧?
Demo的话,\thrift-0.9.0\test这下面有c的和perl的,自己看看原理吧
Go毕竟没接触过,我是搞.Net的,上面这些希望能帮助到你

如果你希望自己编译出来的话,fb303在你下载的thrift里面不在hive里面,
\thrift-0.9.0\contrib\fb303\if这个路径

参考技术B 执行了报什么错?追问

go run 执行文件 araddon\hive\examples\example.go 报错:
  ..\thriftlib\hive_metastore\ThriftHiveMetastore.go:386: unknown ThriftHiveMetastoreClient field 'fb303.FacebookServiceClient' in struct literal

如何从 hive 或 impala 读取 Hbase 当前和以前版本的数据?

【中文标题】如何从 hive 或 impala 读取 Hbase 当前和以前版本的数据?【英文标题】:how to read Hbase current and previous versions of data from hive or impala? 【发布时间】:2016-05-12 05:02:18 【问题描述】:

我想从 Hive 或 Impala 读取 Hbase 当前和以前版本的数据。在我最初的研究中,我发现只能从 Hive 访问当前版本。那么,目前有没有办法从 hive 或 Impala 中检索旧版本?

【问题讨论】:

似乎 hive 和 impala 都无法查看以前版本的单元格数据。请。看我的回答。 我的回答有用吗?你还有什么发现吗? 【参考方案1】:

在 Hive 的情况下: 请看this

似乎不可能在 Hive 中获得同一单元的不同版本(即使 Hbase 具有同一单元的多个版本),它总是返回具有最新时间戳的单元。我相信我们可以在战术上处理这个问题。我们可以将以前的版本附加到 Hbase 行键或作为单独的单元格(名称、值)在 Impala 的情况下: 请参阅limitations部分

【讨论】:

以上是关于Golang 能操作Hive或hbase表吗,有方便的第三方库可用么?的主要内容,如果未能解决你的问题,请参考以下文章

hdfs hbase hive hbase分别的适用场景

HBase 或 Hive - Web 请求

HBase与Hive的集成操作

HBase与Hive的集成操作

Hbase 表与Hive 表的映射操作

钻头不显示 hive 或 hbase 表