gpt4 book ai didi

java - 如何使用HyperTable设计异常日志表并通过Java客户端访问它?

转载 作者:行者123 更新时间:2023-12-01 15:11:10 25 4
gpt4 key购买 nike

如果我有以下表架构来记录异常(在标准 SQL 架构中):

Table: ExceptionLog
Columns: ID (Long),
ExceptionClass (String),
ExceptionMessage (String),
Host (String),
Port (Integer),
HttpHeader (String),
HttpPostBody (String),
HttpMethod (String)

我如何在 HyperTable 中设计相同的东西(具体来说,提高效率的最佳方法是什么)?而且,我将如何使用 HyperTable Java 客户端对其进行编码?

最佳答案

什么是 ID - 它是自动递增的唯一 ID 吗? Hypertable 没有自动增量,但如果您不想提供自己的 ID,则使用随机 GUID 作为唯一 ID。这是包含更多信息的链接: http://hypertable.com/documentation/developer_guide/#unique-cells

我可能会将主机和端口合并到一个列中(“hypertable.com:8080”),但这是我个人的偏好。

其他一切看起来都很好。您可以简单地将其转换为 HQL 中的 CREATE TABLE 语句:

CREATE TABLE ExceptionLog (ID, ExceptionClass, ExceptionMessage, Host, Port, HttpHeader, HttpPostBody, HttpMethod);

如果您经常进行查询,例如

,您可能还需要二级索引,即 ExceptionClass 上的索引
SELECT ExceptionClass FROM ExceptionLog WHERE ExceptionClass = "Segfault";

二级索引记录如下:http://hypertable.com/documentation/developer_guide/#secondary-indices

这是一个演示如何使用 Java 客户端的示例。这相当简单:https://github.com/cruppstahl/hypertable/blob/v0.9.6/src/java/ThriftClient/org/hypertable/thrift/BasicClientTest.java

关于java - 如何使用HyperTable设计异常日志表并通过Java客户端访问它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com