ablog

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

2022-08-01から1ヶ月間の記事一覧

psql で標準入力で渡されたクエリを実行する

AWS

psql で標準入力で標準入力で渡されたクエリを実行したい場合、-f オプションに - を指定すればよい。 ドキュメント -f filename --file=filename(中略)filenameに-(ハイフン)を指定すると、標準入力からEOFを示すもの、または\qメタコマンドまで読み取…

date_add で "TypeError: Column is not iterable" が発生する

事象 PySpark で、下記のようなカラムがあったとして | date: Date | days: Int | |------------|-----------| | 2022-08-25 | 3 | | 2022-08-26 | 2 | | ... | ... | date 列の days 後の日付を出したいが、 df.withColumn( 'duedate', F.date_add(F.col('d…

Redshift のDATE型の暗黙的キャストについて

AWS

テーブル作成 create table public.test1( date_col date ); データ挿入 insert into test1(date_col) values('2022-01-01'); insert into test1(date_col) values('2022-02-01'); insert into test1(date_col) values('2022-03-01'); insert into test1(dat…

Redshiftでクエリの中間結果が書き出された箇所を調べる

AWS

Redshift で TEMP TABLE を作成して、中間結果をディスクに書き出す。 dev=# CREATE TEMP TABLE TEST1 DISTSTYLE EVEN SORTKEY(lo_orderkey) AS SELECT * FROM lineorder; 実行中のクエリのクエリIDを調べる dev=# select trim(u.usename) as user, s.pid, q…

Redshift で列長に合わせて文字列を切詰める

AWS

You can't use SUBSTRING to predictably extract the prefix of a string that might contain multi-byte characters because you need to specify the length of a multi-byte string based on the number of bytes, not the number of characters. To ext…

Redshift でセッションレベルで変更可能なパラメータ

AWS

SET サーバー設定パラメータの値を設定します。SET コマンドを使用して、現在のセッションまたはトランザクションのみの期間の設定をオーバーライドします。 SET - Amazon Redshift SET コマンドを使用して、現在のセッションの期間だけ設定をオーバーライド…

Redshift における aws_teradata_ext の挙動を確認したメモ

AWS

Redshift における AWS Schema Conversion Tool(SCT) の extension pack の aws_teradata_ext の挙動を確認したメモ。 sample=# select aws_teradata_ext.TRUNC('20220818', 'RM'); trunc ------------ 2022-08-01 (1 row) sample=# select aws_teradata_ext…