ablog

不器用で落着きのない技術者のメモ

2025-01-01から1年間の記事一覧

Redshift で非アクティブなセッションのタイムアウト時間を設定する

SESSION TIMEOUT limit | RESET SESSION TIMEOUT セッションが非アクティブまたはアイドル状態を維持する最大時間 (秒) です。指定できる範囲は 60 秒 (1 分) から 1,728,000 秒 (20 日) です。ユーザーに対しセッションタイムアウトが設定されていない場合…

『実践 Apache Iceberg』徹底解説 - 著者と共に学ぶ Iceberg の最新情報

aws.amazon.com 参考リンク Apache Iceberg Table Spec v3 新機能「Row Lineage Tracking」の紹介 - Bering Note – formerly 流沙河鎮 Apache Iceberg Meetup in Japan #1 - Iceberg V3 Spec - Speaker Deck IcebergにおけるDeletion Vectorの実装 『実践 Ap…

Redshift で非 ASCII 文字をフィルタする

Redshift で非 ASCII 文字をフィルタする。 テーブルを作成する。 CREATE TABLE source_table ( col1 VARCHAR(100) ); CREATE TABLE target_table ( col1 VARCHAR(100) ); 非 ASCII 文字を含むレコードを insert する。 insert into source_table values('as…

Redshift でユーザー別のデータベース接続数の推移を調べる

Redshift でユーザー別のデータベース接続数の推移を調べる。 調査クエリ WITH RECURSIVE time_series(time_value) AS ( /* Recursive CTE で過去 7 日間の 1 分ごとの時間を生成 */ -- 開始時点(7日前) SELECT date_trunc('minute', dateadd(day, -7, GET…

Redshift の Multi-AZ で参照可能なシステムテーブル・ビュー

調査クエリ SELECT relname FROM PG_CLASS_INFO WHERE (upper(relname) LIKE 'STL_%' OR upper(relname) LIKE 'SVCS_%' OR upper(relname) LIKE 'SVL_%' OR upper(relname) LIKE 'SVV_%' OR upper(relname) LIKE 'STV_%' OR upper(relname) LIKE 'SYS_%') AN…

Redshift で WLM キューが溜まった状態から Concurrency scaling を有効化後に Scaling cluster でクエリが実行されるまでの時間

Redshift で WLM キューが溜まった状態から Concurrency scaling を有効化後に Scaling cluster でクエリが実行されるまでの時間を検証してみた。環境セットアップ手順は以下参照。 Amazon Redshift に重いクエリを同時多重実行しながら性能情報を見る - abl…

AWS認定 Data Engineer - Associate 勉強メモ

AWS Lake Formation の FindMatches 変換 Glueの「FindMatches 変換」機能を使ってデータセット内の「一致するレコードの重複排除」、「検索」をする | DevelopersIO AWS Lake Formation FindMatches によるレコードのマッチング - AWS Glue Amazon Redshift…

AWS認定 Machine Learning Engineer - Associate (MLA-C01)勉強メモ

参考 AWS Certified Machine Learning Engineer - Associate 認定 | AWS 認定 | AWS 【合格体験記】AWS Certified Machine Learning Engineer - Associate(MLA-C01) #機械学習 - Qiita developersIO

Redshift のシステムビューの定義を確認する

Redshift のシステムビューの定義を確認する。 # show view svv_table_info; ↓整形済み SELECT btrim(((stvp.datname) :: character varying) :: text) AS "database", btrim( ( (nvl2(mvi.mv_id, mvi.mv_schema, pgn.nspname)) :: character varying ) :: t…

Amazon Redshift でロックを保持しているクエリを調査する

AWS

問題となるクエリを検出する 特定のテーブルでロックの問題が頻繁に発生する場合は、SYS_QUERY_HISTORY を参照し、問題の原因となっているクエリを確認してください。 SELECT * FROM SYS_QUERY_HISTORY WHERE transaction_id = transaction ID; Amazon Redsh…

Trusted Advisor の「S3 の不完全なマルチパートアップロードの中止設定」

なお、マルチパートアップロードは7日以上掛かるものに関してライフサイクルルールを設定することが推奨されており、Trusted Advisorでも検知されます。以下のブログもご参考ください。 dev.classmethod.jp [小ネタ] Amazon S3 マルチパートアップロードの状…

SYSLOG ACCESS UNRESTRICTED 権限があってもメタデータビューは自分以外の行を参照できない

Amazon Redshift で SYSLOG ACCESS UNRESTRICTED 権限があっても SVV_USER_INFO などのメタデータビューは自分以外の行を参照できない。 メタデータビューの場合、Amazon Redshift は SYSLOG ACCESS UNRESTRICTED が許可されているユーザーには表示を許可し…

Amazon Redshift の SYS_QUERY_HISTORY の username 列でユーザー名を取得する

SYSLOG ACCESS UNRESTRICTED 権限を付与したユーザーで SYS_QUERY_HISTORY を参照すると、自分以外が発行したクエリとその username を参照することができる。 ユーザークエリーの詳細表示には、SYS_QUERY_HISTORY を使用します。いくつかのフィールドに関す…

情報共有において意識すべきこと

Highlightsではしっかり自分の貢献やうまくいった点をアピールする。 必要:結果の冷静な分析、謙虚な姿勢、支援してくれた人への感謝 不要:必要以上の謙遜、気を使って実績を小さく見せようとする、横展開に役立てられない情報(運がよかっただけ、など) …

Amazon Redshift のテーブルのリストアに必要な IAM 権限は RestoreTableFromClusterSnapshot

Amazon Redshift のテーブルのリストアに必要な IAM 権限は RestoreTableFromClusterSnapshot である。 IAM ポリシー例 { "Sid": "VisualEditor4", "Effect": "Allow", "Action": [ "redshift:RestoreTableFromClusterSnapshot" ], "Resource": "arn:aws:red…

Elastic resize 時のデータスライス

エラスティックリサイズの操作では、データスライスの分散が不均一であることが原因で、ノード間でデータの偏りが発生する可能性があります。クラスターでデータに偏りが生じた場合は、従来のサイズ変更を実行してください。 Amazon Redshift でエラスティッ…

Amazon Redshift で Late Binding View から通常 View を参照している場合、通常 View を Drop & Create することができる

Amazon Redshift で Late Binding View から通常 View を参照している場合、通常 View を Drop & Create することができることを確認した。 通常 View から通常 View を参照している場合は、依存関係があるため、参照元 View を Drop できない(CASCADE オプ…

Amazon Redshift で View にクエリの射影が Push down されるか検証してみた

AWS

Amazon Redshift で View にクエリの射影が Push down されることを検証した。参照元テーブルの全カラムにアクセスする View(select * form ...)に対して、select 句で特定カラムのみ指定するクエリを実行すると、指定したカラムのブロックのみ読込むこと…

Redshift で SELECT が順次実行される中で DDL を発行した場合の実行順を確認した

Redshift で SELECT を順次実行中に、DDL(ALTER TABLE) を発行した場合、DDL 実行後に発行した SELECT は DDL を待機することを確認した。 SQL スクリプト lineorder.sql(SELECT) \timing on \pset pager --\set FETCH_COUNT 1000 set enable_result_cache…

Redshift のスナップショットから View を復元できるか試してみた

AWS

View は復元できなかった(想定通り)

Redshift でデータシェアリングで共有されたテーブルが View で参照されている場合にテーブルを Drop できるか

Redshift でデータシェアリングで共有されたテーブルに対して、Consumer 側から View を作成した場合、Producer 側のテーブルを Drop できるか。 検証手順 [Producer側]スキーマとテーブルを作成する CREATE SCHEMA IF NOT EXISTS share_schema; CREATE TABL…

AWS ML Engineer Associate 勉強

AWS

SageMkader でデータセットを取り込むモード ファイル ファイルモードでは、トレーニングデータは、トレーニングを開始する前に、まずトレーニングインスタンスに添付された暗号化された EBS ボリュームにダウンロードされます。 Amazon SageMaker でより速…

Amazon Redshift でクエリモニタリングの参照に必要な IAM ポリシー

AWS マネジメントコンソールで Amazon Redshift のクエリモニタリングを参照するために必要な IAM ポリシー。 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "redshift:Describe*" ], "Resource": "*" }, { "Effect": "Allow…

Zoom でデフォルトでホスト以外の画面共有を許可する

ミーティング ホストには、画面共有権限をホストのみに制限する、または参加者に画面共有権限を付与するオプションがあります。 参加者の画面共有をデフォルトで許可するには、ウェブポータルの [設定] ページの [画面共有] 設定を調整します。 Zoom Meetings…

時系列テーブルを UNION ALL した View を結合する際のオペレーション

Amazon Redshift で View に対するクエリのフィルタ条件の push down について検証してみた - ablog と関連して、時系列テーブルを UNION ALL した View 経由で他のテーブルと結合した場合と View 内のテーブルを直接結合した場合のオペレーションを比較して…

Amazon Redshift でテーブルの分散スタイルが AUTO の場合、ALL / EVEN / KEY 分散がどのように決まるか

Amazon Redshift でテーブルの分散スタイルが AUTO の場合に、ALL / EVEN / KEY 分散のいずれになるかデータを Insert or Copy しながら検証してみた。 AUTO 分散 AUTO 分散では、Amazon Redshift はテーブルデータのサイズに基づいて最適な分散スタイルを割…

Amazon Redshift で View に対するクエリのフィルタ条件の push down について検証してみた

English: Similarly, as you load new time periods into new tables, add the new tables to the view. To signal the optimizer to skip the scan on tables that don't match the query filter, your view definition filters for the date range that co…

Redshift クラスターを "Resize schedules" で classic resize を実行すると "Unable to resize encrypted cluster. The key '...' is inaccessible"

AWS

事象 Redshift で "Resize schedules" で classic resize を実行すると、以下のエラーが発生する。 The scheduled action '...' at YYYY-MM-DD HH:MM UTC finished with 'FAILED' status: Unable to resize encrypted cluster. The key '...' is inaccessibl…

Amazon Redshift でユーザーに付与されたスキーマ権限を確認する

Amazon Redshift でユーザーに付与されたスキーマ権限を確認する。 select usename , schemaname , has_schema_privilege(usename, schemaname, 'usage') as "usage" , has_schema_privilege(usename, schemaname, 'create') as "create" , has_schema_privi…

Amazon Redshift で HAS_TABLE_PRIVILEGE に CREATE がないのはなぜか?

Amazon Redshift で HAS_TABLE_PRIVILEGE の privilege に CREATE がないのはなぜか?というと、CREATE TABLE 権限はスキーマに対しての権限であり、テーブルに対しての権限ではないため。 ユーザーが、指定されたテーブルに対して指定された権限を持ってい…