问题标签 [thrift]

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 投票
6 回答
4718 浏览

java - 如何在 Java 中对 Hive 进行异步调用?

我想以异步方式在服务器上执行 Hive 查询。Hive 查询可能需要很长时间才能完成,所以我不想阻止调用。我目前正在使用 Thirft 进行阻塞调用(client.execute() 上的阻塞),但我还没有看到如何进行非阻塞调用的示例。这是阻塞代码:

上面的代码缺少 try/catch 块以保持简短。

有谁知道如何进行异步调用?Hive/Thrift 可以支持吗?有没有更好的办法?

谢谢!

0 投票
1 回答
196 浏览

java - 从 Java Web 应用程序调用 ruby​​ 库

我们已经在生产环境中运行了一个 j2ee/spring/hibernate/tomcat Web 应用程序。我们计划与提供 ruby​​ 客户端库的 3rd 方服务( recurly )集成。他们还没有 java 客户端库。他们的服务是 RESTful 的,他们的客户端是 ActiveResource 上的一个瘦定制包装器。我可以想到几种方法来做到这一点:

a) 朱比?

b) 运行一个简单的 ruby​​ xml rpc 守护程序,它在内部调用实际的 ruby​​ 库?我相信 xml rpc 在 java 中很容易。

c) 节俭?

d) 实现一个与他们的 RESTful 服务对话的 java 库(更多的开发时间?)

最快的方法是什么?

0 投票
1 回答
1561 浏览

erlang - Thrift 中的 Erlang 原子和元组

以下是对应的 Thrift 类型:

  • 一个 Erlang 元组(我可以想象它是一个结构)
  • 一个 Erlang 原子(如果有的话?)

是否有任何文档可用于 Erlang 类型和 Thrift IDL 类型之间的直接映射?

0 投票
4 回答
3349 浏览

python - 为 python 设置节俭模块时出错

我正在尝试设置thrift以便与Cassandra合并,所以当我运行

它把这条消息放在命令行中

在这个问题上需要一些帮助。我已经安装了 MigW32

谢谢。

0 投票
3 回答
2498 浏览

python - 集成测试:在测试之前在“unittest.setUp”期间启动一个阻塞服务器?

我正在使用Thrift编写服务,需要应用一些测试以确保它按预期运行/响应。要做到这一点,最稳健的方法似乎是使用该unittest模块。

我想直接在单元测试的setUp方法中以“测试”模式启动服务(在特定的“测试”端口上启动,使用“测试”数据等),但此时调用serve()块等待连接。

启动服务的最佳方法是什么,以便可以执行测试并使用该tearDown方法干净地关闭服务?

0 投票
1 回答
3119 浏览

cassandra - 如何在 Cassandra 中插入带有 TimeUUIDType 列的行?

在 Cassandra 中,我有以下列族:

我正在尝试使用 Thrift 生成的 C++ 生成函数将记录插入其中,如下所示:

但是,我收到以下错误:“UUID 必须正好是 16 个字节”

我什至使用以下命令尝试了 Cassandra CLI:

但我仍然收到以下错误:

0 投票
1 回答
10053 浏览

c# - Thrift.Transport.TTransportException:无法写入空输出流

我正在使用 Cassandra 和 Thrift 库做一些工作。我意识到这些是非常早期的库,并且(毫无疑问)会在某个时候发生变化。

我一直在使用以下链接来帮助设置我的 C# 代码以在我的 Cassandra 服务器(我在本地 VirtualBox 的 Ubuntu Server 实例中运行)写入和读取。我已经确认微不足道的读/写功能有效。

我遇到问题的地方是执行以下方法(使用 Cassandra 附带的 thrift.definition 文件为我生成):

这是我的设置代码:

我的调用代码如下所示:

这个方法的第一行是我得到异常的地方:

这是一个例外:

Thrift.Transport.TTransportException:无法在 Thrift.Protocol.TBinaryProtocol.WriteI32(Int32 i32) 的 Thrift.Protocol.TBinaryProtocol 的 Thrift.Transport.TStreamTransport.Write(Byte[] buf, Int32 off, Int32 len) 写入空输出流。在 Cassandra.cs 中的 Apache.Cassandra.Cassandra.Client.send_get_range_slice(String keyspace, ColumnParent column_parent, SlicePredicate predicate, String start_key, String finish_key, Int32 row_count, ConsistencyLevel 一致性_level) 中的 WriteMessageBegin(TMessage 消息):Apache.Cassandra.Cassandra 的第 341 行Cassandra.cs 中的 .Client.get_range_slice(String keyspace, ColumnParent column_parent, SlicePredicate predicate, String start_key, String finish_key, Int32 row_count, ConsistencyLevel 一致性_level):CassandraDemo.Models.Test.GetAllBlogEntries() 中的第 335 行 Test.cs:第 212 行在 CassandraDemo.Tests.Models。TestTest.cs 中的 TestTest.Test_GetAllBlogEntries_Success():第 42 行

有任何想法吗?

0 投票
1 回答
1326 浏览

serialization - XStream <-> 替代二进制格式(例如协议缓冲区)

我们目前使用 XStream 将我们的 Web 服务输入/输出编码为 XML。但是,我们正在考虑切换到具有多种语言(protobuf、Thrift、Hessian 等)的代码生成器的二进制格式,以便更轻松地支持新客户,减少对手动编码的依赖(也更好地支持我们的包含二进制数据的消息格式) .

然而,我们在服务器上的大多数对象都是 POJO,使用 XStream 通过反射和注释处理序列化,并且这些库中的大多数假设它们将自己生成 POJO。我可以想到几种连接替代库的方法:

  1. 为目标格式编写一个 XStream 封送拆收器。

  2. 编写自定义代码以将 POJO 编组到/来自替代库生成的类。

  3. 子类化生成的类以实现 POJO 逻辑。可能需要一些重写。(我还提到我们想使用 Terracotta 吗?)

  4. 使用另一个同时支持反射(如 XStream)和代码生成的库。

但是我不确定哪个序列化库最适合上述技术。

0 投票
1 回答
2147 浏览

asynchronous - Tornado 可以以非阻塞异步方式与 Cassandra 通信吗?

我正在开发一个 Web 项目,该项目必须处理如此多的客户请求。所以我正在考虑使用 Cassandra 和龙卷风。Tornado 似乎有一个内置客户端(tornado.httpclient.AsyncHTTPClient),它可以做 http 非阻塞请求。但是,Cassandra 使用 Thrift 协议。使用 Thrift,Tornado 似乎在向 Cassandra 查询时被阻止。

有没有人有经验?请建议我该怎么做。或者,是否有任何用于此目的的附加模块?

谢谢。

0 投票
3 回答
1483 浏览

java - Windows 上的 Thrift / Google 协议缓冲区

查看 Thrift 和 Google Protocol Buffers 来实现一些快速的 RPC 代码。如果在 Windows 上编译生成的 C++ 代码(这是我需要的),Thrift 将是完美的。当然,GPB 创建 RPC 存根,但没有实现。

有没有办法让 Thrift Windows 友好?或者,更好的是,是否有任何可免费用于生成的 C++ protobuf 存根的 RPC 实现(Java 对应物也很好,但不是必需的)。

谢谢