构造器和说明 |
---|
DefaultOTSWriter(OTSAsync ots,
String tableName,
com.aliyun.openservices.ots.internal.writer.WriterConfig config,
com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> callback,
Executor executor) |
限定符和类型 | 方法和说明 |
---|---|
void |
addRowChange(List<RowChange> rowChanges,
List<RowChange> dirtyRows)
向本地缓冲区批量写入行。
|
void |
addRowChange(RowChange rowChange)
向本地缓冲区增加一行数据。
|
void |
close()
关闭OTSWriter,在关闭之前,会先flush掉缓冲区内的所有数据。
|
void |
flush()
主动flush缓冲区中的数据,该函数会等待缓冲区中的所有数据被flush完毕。
|
com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> |
getCallback()
获取设置的Callback。
|
long |
getTotalRPCCount() |
com.aliyun.openservices.ots.internal.writer.WriterConfig |
getWriterConfig()
获取限制项配置。
|
void |
setCallback(com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> callback)
设置Callback,数据写入成功或者失败均会通过Callback来反馈。
|
void |
startFlushTimer(int flushInterval) |
public DefaultOTSWriter(OTSAsync ots, String tableName, com.aliyun.openservices.ots.internal.writer.WriterConfig config, com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> callback, Executor executor)
public long getTotalRPCCount()
public void startFlushTimer(int flushInterval)
public void addRowChange(RowChange rowChange)
OTSWriter
WriterConfig.maxPKColumnSize
和WriterConfig.maxAttrColumnSize
。
- 该行的属性列的个数是否超过WriterConfig.maxColumnsCount
。
- 该行的大小是否超过WriterConfig.maxBatchSize
。
- 属性列中是否有列名与主键列相同。
若在写入缓冲区之前被判定为脏数据,该部分数据不会触发CallBack的调用。ClientException
。addRowChange
在接口中 OTSWriter
rowChange
- 要写入的行public void addRowChange(List<RowChange> rowChanges, List<RowChange> dirtyRows) throws ClientException
OTSWriter
OTSWriter.addRowChange(RowChange)
一样的检查,若批量写入的行中存在脏数据,则该函数会抛ClientException
,
且所有的脏数据会写入。addRowChange
在接口中 OTSWriter
rowChanges
- 批量写入的行dirtyRows
- 用于传出脏数据的列表ClientException
- 若存在脏数据public void setCallback(com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> callback)
OTSWriter
OTSAsync
中每个接口的Callback不同,其callback会与每个请求一一对应,且可以是独立的。
但是这里的Callback是与RowChange对应,且所有RowChange都共享该callback。setCallback
在接口中 OTSWriter
public com.aliyun.openservices.ots.internal.OTSCallback<RowChange,ConsumedCapacity> getCallback()
OTSWriter
getCallback
在接口中 OTSWriter
public com.aliyun.openservices.ots.internal.writer.WriterConfig getWriterConfig()
OTSWriter
getWriterConfig
在接口中 OTSWriter
public void flush() throws ClientException
OTSWriter
flush
在接口中 OTSWriter
ClientException
public void close()
OTSWriter
OTSWriter.addRowChange(com.aliyun.openservices.ots.model.RowChange)
向缓冲区写入数据,则该部分数据不保证会写入OTS。Copyright © 2016. All Rights Reserved.