| Class and Description |
|---|
| AsyncClient |
| AsyncClientInterface |
| AsyncTimeseriesClient |
| AsyncTimeseriesClientInterface |
| ClientConfiguration
访问阿里云服务的客户端配置。
|
ClientException
ClientException 发生在请求的返回结果无效或遇到网络异常。 |
| PrepareCallback |
| RequestTracer |
| RequestTracer.RequestSendTraceInfo |
| RequestTracer.ResponseReceiveTraceInfo |
| RequestTracer.StartRequestTraceInfo
调用开始信息类
|
| SyncClient |
| SyncClientInterface
阿里云表格存储(TableStore, 原OTS)的访问接口。
|
| TableStoreCallback |
TableStoreException
TableStoreException 表示TableStore返回的异常。 |
| TableStoreReader |
| TableStoreTimeseriesWriter |
| TableStoreWriter
TableStore提供了BatchWriteRow接口让用户能够向TableStore批量导入数据,但是在实际使用过程中,BatchWriteRow接口的使用方式对开发者并不友好。例如用户
需要自己计算并控制一次BatchWriteRow的数据量大小,需要关注行大小或者列大小是否超过TableStore的限制,需要对主键去重以及处理单行错误的重试等等。
TableStoreWriter旨在针对批量数据导入的场景提供一个更加易用的接口,但是不是所有场景均适用TableStoreWriter,在使用之前,请详细了解它的行为,否则会造成数据正确性的问题:
- TableStoreWriter所有接口保证线程安全。
- 调用
TableStoreWriter.addRowChange(com.alicloud.openservices.tablestore.model.RowChange)接口向TableStoreWriter写入一行返回后,并不代表该行已经写入TableStore,该行会保存在TableStoreWriter的本地缓冲中,等待flush,flush成功后该行才会被写入TableStore。
- 向TableStoreWriter写入的行的顺序与最终写入TableStore的行的顺序不保证一致。
- 所有通过TableStoreWriter的写入操作,需要使用者保证是幂等的,因为TableStoreWriter内部默认会启用重试,某一行可能会多次写入。
- TableStoreWriter对缓冲区的flush时机由两个因素来控制:一个是flushInterval,根据时间定期的进行flush;
另一个是WriterConfig.maxBatchSize,根据缓冲区的数据量来决定是否需要flush。
- TableStoreWriter在写入数据时,会自动对导入失败的行进行重试,但是并不保证所有行重试后最终一定能够被写入成功(例如:某一行在写入时加了存在性检查,若已经存在,则永远写不成功)。
此时经过若干次重试后若还有数据无法被写入成功,则这些行会被认为是脏数据,脏数据会通过TableStoreCallback反馈给使用者。
- 再向TableStoreWriter写入数据之前,请先注册好Callback,否则若在注册CallBack之前已经有数据写入失败,则失败的行会直接被抛弃。
- 程序退出前,需要显式调用TableStoreWriter.flush()或TableStoreWriter.close(),将还存在缓冲区中的数据进行flush,否则会造成这部分数据丢失。
TableStoreWriter对批量导入数据的处理流程:
1. |
| TimeseriesClient |
| TimeseriesClientInterface |
| TimeseriesConfiguration |
| TunnelClientInterface |
| Class and Description |
|---|
| ClientConfiguration
访问阿里云服务的客户端配置。
|
| TableStoreCallback |
| Class and Description |
|---|
ClientException
ClientException 发生在请求的返回结果无效或遇到网络异常。 |
| Class and Description |
|---|
| ClientConfiguration
访问阿里云服务的客户端配置。
|
ClientException
ClientException 发生在请求的返回结果无效或遇到网络异常。 |
| RequestTracer |
TableStoreException
TableStoreException 表示TableStore返回的异常。 |
| Class and Description |
|---|
ClientException
ClientException 发生在请求的返回结果无效或遇到网络异常。 |
| Class and Description |
|---|
| SyncClient |
| SyncClientInterface
阿里云表格存储(TableStore, 原OTS)的访问接口。
|
| Class and Description |
|---|
| InternalClient |
| SyncClientInterface
阿里云表格存储(TableStore, 原OTS)的访问接口。
|
| Class and Description |
|---|
| SyncClientInterface
阿里云表格存储(TableStore, 原OTS)的访问接口。
|
| Class and Description |
|---|
| AsyncClientInterface |
| TableStoreCallback |
TableStoreException
TableStoreException 表示TableStore返回的异常。 |
| Class and Description |
|---|
| SyncClient |
| SyncClientInterface
阿里云表格存储(TableStore, 原OTS)的访问接口。
|
| TableStoreWriter
TableStore提供了BatchWriteRow接口让用户能够向TableStore批量导入数据,但是在实际使用过程中,BatchWriteRow接口的使用方式对开发者并不友好。例如用户
需要自己计算并控制一次BatchWriteRow的数据量大小,需要关注行大小或者列大小是否超过TableStore的限制,需要对主键去重以及处理单行错误的重试等等。
TableStoreWriter旨在针对批量数据导入的场景提供一个更加易用的接口,但是不是所有场景均适用TableStoreWriter,在使用之前,请详细了解它的行为,否则会造成数据正确性的问题:
- TableStoreWriter所有接口保证线程安全。
- 调用
TableStoreWriter.addRowChange(com.alicloud.openservices.tablestore.model.RowChange)接口向TableStoreWriter写入一行返回后,并不代表该行已经写入TableStore,该行会保存在TableStoreWriter的本地缓冲中,等待flush,flush成功后该行才会被写入TableStore。
- 向TableStoreWriter写入的行的顺序与最终写入TableStore的行的顺序不保证一致。
- 所有通过TableStoreWriter的写入操作,需要使用者保证是幂等的,因为TableStoreWriter内部默认会启用重试,某一行可能会多次写入。
- TableStoreWriter对缓冲区的flush时机由两个因素来控制:一个是flushInterval,根据时间定期的进行flush;
另一个是WriterConfig.maxBatchSize,根据缓冲区的数据量来决定是否需要flush。
- TableStoreWriter在写入数据时,会自动对导入失败的行进行重试,但是并不保证所有行重试后最终一定能够被写入成功(例如:某一行在写入时加了存在性检查,若已经存在,则永远写不成功)。
此时经过若干次重试后若还有数据无法被写入成功,则这些行会被认为是脏数据,脏数据会通过TableStoreCallback反馈给使用者。
- 再向TableStoreWriter写入数据之前,请先注册好Callback,否则若在注册CallBack之前已经有数据写入失败,则失败的行会直接被抛弃。
- 程序退出前,需要显式调用TableStoreWriter.flush()或TableStoreWriter.close(),将还存在缓冲区中的数据进行flush,否则会造成这部分数据丢失。
TableStoreWriter对批量导入数据的处理流程:
1. |
| Class and Description |
|---|
| TableStoreCallback |
| Class and Description |
|---|
| AsyncTimeseriesClientInterface |
ClientException
ClientException 发生在请求的返回结果无效或遇到网络异常。 |
| TableStoreCallback |
| Class and Description |
|---|
| AsyncTimeseriesClientInterface |
| TableStoreCallback |
| Class and Description |
|---|
| AsyncTimeseriesClientInterface |
| TableStoreCallback |
| Class and Description |
|---|
| AsyncTimeseriesClientInterface |
| TableStoreCallback |
| Class and Description |
|---|
| AsyncClient |
| TableStoreCallback |
| TableStoreWriter
TableStore提供了BatchWriteRow接口让用户能够向TableStore批量导入数据,但是在实际使用过程中,BatchWriteRow接口的使用方式对开发者并不友好。例如用户
需要自己计算并控制一次BatchWriteRow的数据量大小,需要关注行大小或者列大小是否超过TableStore的限制,需要对主键去重以及处理单行错误的重试等等。
TableStoreWriter旨在针对批量数据导入的场景提供一个更加易用的接口,但是不是所有场景均适用TableStoreWriter,在使用之前,请详细了解它的行为,否则会造成数据正确性的问题:
- TableStoreWriter所有接口保证线程安全。
- 调用
TableStoreWriter.addRowChange(com.alicloud.openservices.tablestore.model.RowChange)接口向TableStoreWriter写入一行返回后,并不代表该行已经写入TableStore,该行会保存在TableStoreWriter的本地缓冲中,等待flush,flush成功后该行才会被写入TableStore。
- 向TableStoreWriter写入的行的顺序与最终写入TableStore的行的顺序不保证一致。
- 所有通过TableStoreWriter的写入操作,需要使用者保证是幂等的,因为TableStoreWriter内部默认会启用重试,某一行可能会多次写入。
- TableStoreWriter对缓冲区的flush时机由两个因素来控制:一个是flushInterval,根据时间定期的进行flush;
另一个是WriterConfig.maxBatchSize,根据缓冲区的数据量来决定是否需要flush。
- TableStoreWriter在写入数据时,会自动对导入失败的行进行重试,但是并不保证所有行重试后最终一定能够被写入成功(例如:某一行在写入时加了存在性检查,若已经存在,则永远写不成功)。
此时经过若干次重试后若还有数据无法被写入成功,则这些行会被认为是脏数据,脏数据会通过TableStoreCallback反馈给使用者。
- 再向TableStoreWriter写入数据之前,请先注册好Callback,否则若在注册CallBack之前已经有数据写入失败,则失败的行会直接被抛弃。
- 程序退出前,需要显式调用TableStoreWriter.flush()或TableStoreWriter.close(),将还存在缓冲区中的数据进行flush,否则会造成这部分数据丢失。
TableStoreWriter对批量导入数据的处理流程:
1. |
| Class and Description |
|---|
| AsyncClient |
| Class and Description |
|---|
| AsyncClient |
| Class and Description |
|---|
| TunnelClientInterface |
| Class and Description |
|---|
| AsyncClientInterface |
| TableStoreCallback |
| Class and Description |
|---|
| AsyncClientInterface |
| TableStoreCallback |
Copyright © 2024. All Rights Reserved.