Appearance
リソースID
概要
- リソースIDとは、Codatum で DWH(データウェアハウス) のリソースを一意に識別するための文字列です
- 次のようなリソースIDがあります
- テーブルリソースID: DWH 内のテーブルを識別するID
- ジョブリソースID: SQL の実行ジョブを識別するID
テーブルリソースID
- DWH内に格納されたテーブルを参照する際に用いるリソースIDを、テーブルリソースIDと呼びます
- DWHのデータ階層構造に合わせて、次のルールで生成されます
BigQuery
ts
// connId: コネクションID(ObjectId)
// projectId: Google Cloud Project ID
// datasetId: BigQuery の Dataset ID
// tableName: BigQuery の Table ID
type TableResourceId = `bq/cn=${connId}/pj=${projectId}/ds=${datasetId}/tb=${tableName}`;
// 例
const tableResourceId = "bq/cn=69cafa6c871431229e5a3fe1/pj=bigquery-public-data/ds=austin_bikeshare/tb=stations";Snowflake
ts
// connId: コネクションID(ObjectId)
// databaseId: Snowflake の Database ID
// schemaId: Snowflake の Schema ID
// tableName: Snowflake の Table ID
type TableResourceId = `sf/cn=${connId}/db=${databaseId}/sc=${schemaId}/tb=${tableName}`;
// 例
const tableResourceId = "sf/cn=69cafa6c871431229e5a3fe1/db=SNOWFLAKE_SAMPLE_DATA/sc=TPCH_SF1/tb=ORDERS";Databricks
ts
// connId: コネクションID(ObjectId)
// catalogId: Databricks の Catalog ID
// schemaId: Databricks の Schema ID
// tableName: Databricks の Table ID
type TableResourceId = `db/cn=${connId}/cl=${catalogId}/sc=${schemaId}/tb=${tableName}`;
// 例
const tableResourceId = "db/cn=69cafa6c871431229e5a3fe1/cl=samples/sc=nyctaxi/tb=trips";Redshift
ts
// connId: コネクションID(ObjectId)
// databaseId: Redshift の Database ID
// schemaId: Redshift の Schema ID
// tableName: Redshift の Table ID
type TableResourceId = `rs/cn=${connId}/db=${databaseId}/sc=${schemaId}/tb=${tableName}`;
// 例
const tableResourceId = "rs/cn=69cafa6c871431229e5a3fe1/db=dev/sc=public/tb=sales";ジョブリソースID
- Codatum のコネクションを通してSQLを実行した時に払い出されるリソースIDを、ジョブリソースIDと呼びます
- SQLの実行状態や、実行結果を取得する際は、このジョブリソースIDを用います
- SQLの文字列の完全一致によるキャッシュが利用された場合、同じジョブリソースIDが返却されます
- ジョブリソースIDは、DWH毎に次のルールで生成されます
ts
// BigQuery
type JobResourceId = `bq/cn=${connId}/jb=${jobId}`;
// Snowflake
type JobResourceId = `sf/cn=${connId}/jb=${jobId}`;
// Databricks
type JobResourceId = `db/cn=${connId}/jb=${jobId}`;
// Redshift
type JobResourceId = `rs/cn=${connId}/jb=${jobId}`;