TimestreamDBClient是Timestream的客户端,您可以使用TimestreamDBClient进行建表、删表以及读写数据/时间线等操作。

其中时序数据是存储至数据表中,时间线是存储至元数据表(Meta表)中。数据表可以根据业务需求创建多个,但元数据表只能有一个。所有数据表的时间线元数据写入到同一个元数据表中,您通过TimestreamDBConfiguration配置元数据表的表名。
伴随数据的写入,后台默认不断更新时间线的lastUpdateTime,您可以通过设置TimestreamDBConfiguration中的dumpMeta来控制是否需要打开后台更新时间线,以及设置intervalDumpMeta来控制时间线更新的频率。
示例代码
- 使用默认Writer配置创建TimestreamDBClient。
AsyncClient asyncClient = new AsyncClient(endpoint, accessKeyId, accessKeySecret, instance);
// 设置元数据表的表名
TimestreamDBConfiguration conf = new TimestreamDBConfiguration("metaTableName");
// 设置后台更新时间线的最大间隔
conf.setIntervalDumpMeta(10, TimeUnit.MINUTES);
TimestreamDBClient db = new TimestreamDBClient(asyncClient, conf);
- 使用自定义Writer配置创建TimestreamDBClient。
// 自定义TableStoreWriter callback实现
class DefaultCallback implements TableStoreCallback<RowChange, ConsumedCapacity> {
private AtomicLong succeedCount = new AtomicLong();
private AtomicLong failedCount = new AtomicLong();
public void onCompleted(final RowChange req, final ConsumedCapacity res) {
succeedCount.incrementAndGet();
}
public void onFailed(final RowChange req, final Exception ex) {
System.out.println("Got error:" + ex.getMessage());
dirtyLog.info(gson.toJson(req));
failedCount.incrementAndGet();
}
}
AsyncClient asyncClient = new AsyncClient(endpoint, accessKeyId, accessKeySecret, instance, clientConfiguration);
// 设置元数据表的表名
TimestreamDBConfiguration conf = new TimestreamDBConfiguration("metaTableName");
DefaultCallback callback = new DefaultCallback();
//TableStoreWriter配置
WriterConfig writerConfig = new WriterConfig();
// 设置writer的buffer为4096行
writerConfig.setBufferSize(4096);
TimestreamDBClient db = new TimestreamDBClient(asyncClient, config, new WriterConfig(), callback);
在文档使用中是否遇到以下问题
更多建议
匿名提交