當使用Table Store時序模型時,您需要使用CreateTimeseriesTable介面建立時序表用於儲存時序資料。建立時序表時支援配置資料生命週期、時序時間軸表的配置資訊、自訂時間軸標識和作為主鍵的資料欄位、建立Lastpoint索引以及建立分析儲存。分析儲存可用於快速分析時序資料。Lastpoint索引可用於快速檢索各時間軸的最新時間點的資料。
前提條件
- 重要
如果要流量分析儲存、Lastpoint索引、自訂時間軸標識和作為主鍵的資料欄位功能,請在支援該功能的地區建立時序模型執行個體。
注意事項
時序表的名稱不能與當前已存在的資料表名稱相同。
說明您可以使用ListTimeseriesTable介面列出指定執行個體下已有的時序表名稱。具體操作,請參見列出時序表名稱。
一個時序表只能建立一個分析儲存。
一個時序表的Lastpoint索引與分析儲存的數量總和不得超過10個。
一個時序表最多隻能添加4個作為主鍵的資料欄位。
為一個時序表自訂時間軸標識時,最多隻能添加6個欄位。
介面
public class CreateTimeseriesTableRequest implements Request {
/**時序表的結構資訊。*/
private TimeseriesTableMeta timeseriesTableMeta;
/**分析儲存資訊。*/
private List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
/**是否開啟分析儲存。*/
private boolean enableAnalyticalStore = true;
}
參數
參數 | 說明 |
TimeseriesTableMeta | 時序表的結構資訊,包含如下內容:
|
enableAnalyticalStore | 是否建立預設分析儲存。預設值為true,表示建立預設分析儲存。 建立分析儲存後,您可以流量分析儲存低成本儲存時序資料以及查詢與分析時序資料。更多資訊,請參見分析儲存。 如果不需要建立分析儲存,請將此參數設定為false。 |
analyticalStores | 分析儲存配置,包括如下內容:
|
樣本
建立不帶分析儲存的時序表
以下樣本用於建立test_timeseries_table時序表,且該表中資料永不到期。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
//不建立預設分析儲存。
request.setEnableAnalyticalStore(false);
client.createTimeseriesTable(request);
}
建立時序表時建立分析儲存
建立時序表時支援建立預設分析儲存或者建立自訂分析儲存。
建立時序表時建立預設分析儲存
以下樣本用於建立test_timeseries_table時序表且該表中資料永不到期,同時建立一個預設分析儲存。其中預設分析儲存的名稱固定為default_analytical_store,且預設分析儲存內的資料永不到期。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}
建立時序表時建立自訂分析儲存
以下樣本用於建立test_timeseries_table時序表且該表中資料永不到期,同時建立一個自訂分析儲存。該自訂分析儲存的名稱為test_analytical_store,且自訂分析儲存內的資料永不到期。
private static void createTimeseriesTable(TimeseriesClient client) {
// 設定時序表名稱和TTL。
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
// 自訂分析儲存。
List<TimeseriesAnalyticalStore> analyticalStores = new ArrayList<TimeseriesAnalyticalStore>();
analyticalStores.add(new TimeseriesAnalyticalStore("test_analytical_store"));
request.setAnalyticalStores(analyticalStores);
client.createTimeseriesTable(request);
}
建立時序表時自訂時間軸標識和作為主鍵的資料欄位
Table StoreJava SDK從5.17.1版本開始支援自訂時間軸標識和作為主鍵的資料欄位功能。使用該功能時,請確保擷取了正確的Java SDK版本。關於Java SDK歷史迭代版本的更多資訊,請參見Java SDK歷史迭代版本。
以下樣本用於建立一張時序表,時間軸標識由pk1和pk2構成,同時有三個作為主鍵的資料欄位field1(整型)、field2(字串類型)和field3(二進位類型)。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
timeseriesTableMeta.addTimeseriesKey("pk1");
timeseriesTableMeta.addTimeseriesKey("pk2");
timeseriesTableMeta.addFieldPrimaryKey("field1", PrimaryKeyType.INTEGER);
timeseriesTableMeta.addFieldPrimaryKey("field2", PrimaryKeyType.STRING);
timeseriesTableMeta.addFieldPrimaryKey("field3", PrimaryKeyType.BINARY);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
client.createTimeseriesTable(request);
}
建立時序表時配置Lastpoint索引
Table StoreJava SDK從5.17.1版本開始支援Lastpoint索引功能。使用該功能時,請確保擷取了正確的Java SDK版本。關於Java SDK歷史迭代版本的更多資訊,請參見Java SDK歷史迭代版本。
以下樣本建立一張時序表時同時建立一個名稱為index1的Lastpoint索引。
private static void createTimeseriesTable(TimeseriesClient client) {
String tableName = "test_timeseries_table";
TimeseriesTableMeta timeseriesTableMeta = new TimeseriesTableMeta(tableName);
int timeToLive = -1;
timeseriesTableMeta.setTimeseriesTableOptions(new TimeseriesTableOptions(timeToLive));
CreateTimeseriesTableRequest request = new CreateTimeseriesTableRequest(timeseriesTableMeta);
request.addLastpointIndex(new CreateTimeseriesTableRequest.LastpointIndex("index1"));
client.createTimeseriesTable(request);
}
相關文檔
如果要低成本儲存時序資料以及快速查詢和分析時序資料,您可以為時序表建立分析儲存。具體操作,請參見建立分析儲存。
如果要修改時序表的資料生命週期,您可以通過更新時序表功能實現。具體操作,請參見更新時序表。
如果要查詢當前執行個體下的所有時序表,您可以通過列出時序表名稱實現。具體操作,請參見列出時序表名稱。
如果要查看時序表的詳細配置資訊,您可以通過查詢時序表描述資訊實現。更多資訊,請參見查詢時序表描述資訊。
如果不再使用時序表,您可以刪除時序表。具體操作,請參見刪除時序表。
如果要以更低成本備份Table Store中的時序資料或者以檔案形式匯出時序資料到本地,您可以通過DataWorksData Integration服務將Table Store中的時序資料匯出到OSS後進行儲存或者下載。更多資訊,請參見將Table Store資料同步到OSS。
如果要可視化展示時序資料,您可以通過對接Grafana實現。更多資訊,請參見對接Grafana。
通過Flink計算與分析資料後,您可以使用Tablestore時序表格儲存體輸出結果。更多資訊,請參見使用教程(時序模型)。