0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】Confluent Cloud × Flink SQL の入門学習ノート2

Posted at

0. 前提チェック(最初にやると安全)

SHOW CURRENT CATALOG;
SHOW CURRENT DATABASE;
-- 必要なら切替
USE CATALOG <catalog_name>;
USE <database_name>;
  • カタログ/データベースの指し先を間違えると、SHOW TABLES の結果や DROP の対象が意図せず変わります。毎回確認が安心。

1. ALTER(既存オブジェクトの変更)

できること

  • ALTER TABLE: 既存テーブルのプロパティ変更、(環境によっては)リネーム 等
  • ALTER MODEL: AIモデルのリネーム、モデルオプション変更

-- テーブル名の変更(サポートされる環境)
ALTER TABLE orders_raw RENAME TO orders_raw_v2;

-- モデル名の変更(概念例)
ALTER MODEL sentiment_model RENAME TO sentiment_model_v2;

メモ:変更できるプロパティはカタログ/コネクタに依存します。実運用前にドキュメントで可否を必ず確認。


2. CREATE(新規登録)

できること

  • CREATE TABLE: テーブルをカタログへ登録
  • CREATE FUNCTION: UDFを登録(現在のDBに紐づく)
  • CREATE MODEL: AIモデルを作成

-- Confluent Cloudの典型例(概念)
CREATE TABLE orders_raw (
  ordertime BIGINT,
  ordertime_ltz AS TO_TIMESTAMP_LTZ(ordertime, 3),
  orderid INT,
  itemid STRING,
  orderunits DOUBLE,
  WATERMARK FOR ordertime_ltz AS ordertime_ltz - INTERVAL '5' SECOND
) WITH (
  'connector' = 'confluent',
  'kafka.topic' = 'orders_raw',
  'value.format' = 'json',
  'scan.startup.mode' = 'earliest-offset'
);

-- UDF 登録(クラス名は環境依存のため例示のみ)
-- CREATE FUNCTION my_upper AS 'com.example.udf.MyUpper';

-- モデル作成(概念例:実際のオプションは環境の提供値に合わせる)
-- CREATE MODEL sentiment_model WITH ('provider'='xxx','task'='text-classification');

3. DESCRIBE(定義/プロパティの確認)

DESCRIBE orders_raw;          -- テーブルのスキーマ/プロパティ
DESCRIBE sentiment_model;     -- モデルの詳細(提供環境に依存)
DESCRIBE my_upper;            -- UDFの情報

変更前後の確認や、引き継ぎドキュメント化の第一歩に便利。


4. DROP(削除)

できること

  • DROP MODEL / DROP TABLE / DROP VIEW

DROP TABLE IF EXISTS orders_raw_v2;
DROP VIEW  IF EXISTS recent_orders;
DROP MODEL IF EXISTS sentiment_model_v2;

取り消しは基本不可。対象カタログ/DBを USE で再確認してから実行。


5. EXPLAIN(実行計画の確認)

EXPLAIN
SELECT itemid, COUNT(*) AS cnt
FROM orders_raw
GROUP BY itemid;
  • 実行せずに 最適化結果・物理計画 を把握可能。性能調査やレビューで重宝。

6. RESET(シェル設定のリセット)

RESET;                 -- すべてデフォルトへ
-- RESET 'some.key';   -- 個別キーだけ既定値へ戻す(サポート状況は環境による)
  • 試行錯誤で設定が散らかったときの“元に戻す”ボタン。

7. SET(シェル設定の変更/一覧)

SET;   -- 現在の設定一覧(表示)
-- 例:値の設定(キーは環境やバージョンで異なる)
SET 'pipeline.default-parallelism' = '2';
  • そのセッション/クエリの動作に関わる設定を変更。値は環境がサポートするキーのみ有効。

8. SHOW(一覧系コマンド)

よく使う順で並べます。

SHOW JOBS;               -- 現在のカタログにある全Statementの状態
SHOW TABLES;             -- 現在DBのテーブル一覧
SHOW FUNCTIONS;          -- 関数一覧
SHOW DATABASES;          -- カタログ内のDB一覧
SHOW CATALOGS;           -- 利用可能なカタログ一覧
SHOW MODELS;             -- 登録済みAIモデル一覧
SHOW CURRENT CATALOG;    -- 今いるカタログ
SHOW CURRENT DATABASE;   -- 今いるDB
SHOW CREATE TABLE orders_raw;    -- テーブル定義の詳細
SHOW CREATE MODEL sentiment_model;  -- モデル定義の詳細(提供環境に依存)

運用では SHOW JOBS でStatementの生存確認、SHOW CREATE TABLE で定義差分確認が鉄板。


9. USE(カタログ/DBの切替)

USE CATALOG my_catalog;
USE my_database;
  • 切替は事故防止の基本動作。各種 SHOW と組み合わせて常に現在地を明確に。

10. ミニ演習(5分)

  1. 現在地確認:SHOW CURRENT CATALOG; SHOW CURRENT DATABASE;
  2. 作成:CREATE TABLE orders_raw ...
  3. 可視化:DESCRIBE orders_raw; SHOW CREATE TABLE orders_raw;
  4. 計画確認:EXPLAIN SELECT * FROM orders_raw LIMIT 10;
  5. リネーム:ALTER TABLE orders_raw RENAME TO orders_raw_v2;
  6. 削除:DROP TABLE orders_raw_v2;(本当に不要なら)

11. つまずきポイント集

  • DDLはデータを変えない:結果が変わらないのは正常(スキーマやプロパティが変わるだけ)
  • 現在地の勘違いUSE の切替忘れで別DBを操作 → SHOW CURRENT ... を癖に
  • プロパティの可否ALTER/CREATE ... WITH (...) のキーは コネクタ/環境依存。公式仕様を確認
  • DROPの不可逆性:実行前に SHOW CREATE ... でバックアップ代わりに定義を控える

12. 公式ドキュメント(参考)


おわりに

本ノート2では、DDLの全体像と最小実例を一気に掴めるよう整理しました。
次は ノート3(DML:INSERT/UPSERT/DELETE などの実践) に進むと、実データを動かすフェーズへスムーズに移行できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?