ablog

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

AWS Transfer Family の SFTP の認証

AWS

SSH 公開鍵認証 【2022年10月版】AWS Transfer Family の SFTP を使ってみた | DevelopersIO パスワード認証 https://dev.classmethod.jp/articles/aws-transfer-family-sftp-with-password-method/:tilte

rsql で -v オプションと -c オプションを併用するとエラーになる問題の回避策

AWS

事象 rsql で -v オプションと -c オプションを併用するとエラーになる。 $ rsql -h redshift-cluster-poc-central.ceyg6jv96hfq.ap-northeast-1.redshift.amazonaws.com -U awsuser -d dev -v var_table_name='version()' -c 'select * from :var_table_nam…

Amazon Linux 2 に rsql をインストールする

AWS

環境 $ cat /etc/system-release Amazon Linux release 2 (Karoo) $ uname -r 5.10.130-118.517.amzn2.x86_64 インストールする sudo yum -y install unixODBC curl -L -O https://s3.amazonaws.com/redshift-downloads/drivers/odbc/1.5.9.1011/AmazonRedsh…

Azure から AWS へデータ連携する

Azure Data Lake Storage Gen2 使ってみた #初心者 - Qiita Solved: Unable to mount the blob storage account as soft d... - Databricks - 27279

国内トラベルグッズメモ

電子機器 MacBook Pro 14インチ(M1) Shokz AirPods Pro Apple Watch 充電アダプター・ケーブル モバイルバッテリー スポーティ フ―ディー ブラック(+CLOTHET) ジョガーパンツ ブラック(+CLOTHET) スニーカー(NIKE Air Max 97) スニーカー(Valsport …

sed でファイルの先頭行に文字列を挿入する

sed でファイルの先頭行に文字列を挿入したメモ。 文字列を挿入する $ ls ks*|while read LINE; do sed -i '1s/^/CONSISTENCY LOCAL_QUORUM;\n/' ${LINE}; done 確認する $ head ks_insert_000 CONSISTENCY LOCAL_QUORUM; INSERT INTO poc.partition_id_dist…

split コマンドでファイルを分割する

split コマンドでファイルを分割したメモ。 d: サフィックスを数値にする a: サフィックスの桁数を指定する l: 何行で分割するかを指定する $ split -d -a 3 -l 1000 base_insert.cql ks_insert_ $ ls |head base_insert.cql ks_insert_000 ks_insert_001 ks…

cqlsh からスクリプトファイルを実行する

AWS

実行するスクリプトファイルの内容 $ cat insert_small.cql CONSISTENCY LOCAL_QUORUM ; INSERT INTO poc.partition_id_dist_test (partition_id, date_time) VALUES (001, '2024-01-10 17:30:00'); INSERT INTO poc.partition_id_dist_test (partition_id, …

Amazon Keyspaces で VPC エンドポイントを設定しているVPCでグローバルエンドポイントとVPCエンドポイントを併用する方法

AWS

Amazon Keyspaces で VPC エンドポイントを設定しているVPCでグローバルエンドポイントとVPCエンドポイントを併用する方法。 方法 VPC エンドポイントで [プライベート DNS 名を有効化] のチェックを外す。 グローバルエンドポイントに接続するときは cassan…

Redshift でクエリテキストが 4000 文字を超える場合にクエリ全文を取得する

AWS

STL_QUERYTEXT に保存された SQL を再構築するには、次の SQL を実行します。 select LISTAGG(CASE WHEN LEN(RTRIM(text)) = 0 THEN text ELSE RTRIM(text) END, '') within group (order by sequence) AS text from stl_querytext where query=pg_last_quer…

DynamoDB の ConsistentRead

AWS

Read operations such as GetItem, Query, and Scan provide an optional ConsistentRead parameter. If you set ConsistentRead to true, DynamoDB returns a response with the most up-to-date data, reflecting the updates from all prior write operat…

Redshift Serveless でモニタリングする項目

Redshift Serveless でモニタリングする項目 QueriesQueued 正常時のワークロードの最大同時実行数の50%を超えた場合、最大RPU(設定している場合)の増加などを検討する。 例)正常時のワークロードで最大同時実行数が 20 の場合、キュー待ちクエリ数が10を…

Redshift のオブジェクト名の大文字小文字の区別について

AWS

検証結果 enable_case_sensitive_identifier が true で、DDL やクエリでダブルクオートで囲むと大文字小文字を区別する。 enable_case_sensitive_identifier が false だと大文字小文字を区別しない(デフォルトは false)。 ダブルクオートで囲まないと小…

QueryEditor v2 で Redshift にアクセスするための最小権限

QueryEditor v2 を利用する IAM ロール / IAM ユーザーにアタッチする。 IAM ポリシー AmazonRedshiftReadOnlyAccess AmazonRedshiftQueryEditorV2NoSharing IAM 権限 redshift:GetClusterCredential redshift:CreateClusterUser redshift:JoinGroup { "Vers…

YCSB から DynamoDB に結果整合性と強い整合性で負荷をかけてみて、レイテンシを計測してみた

AWS

YCSB から DynamoDB に結果整合性と強い整合性で負荷をかけてみて、レイテンシを計測してみた。 DynamoDB のテーブルを作成する テーブル名: usertable パーティションキー: firstname (String) キャパシティモード: Provisioned (RCU: 10,000、WCU: 10,000…

Amazon Linux 2023 に psql、pgbench をインストールする

psql sudo dnf install -y postgresql15 pgbench sudo dnf install -y postgresql15-contrib 参考 PostgreSQL DB インスタンスを作成して接続する - Amazon Relational Database Service

Redshift Serverless に負荷をかけてCloudWatch メトリクスをモニタリングしてみる

$ git clone https://github.com/awslabs/amazon-redshift-utils.git $ cd amazon-redshift-utils/src/CloudDataWarehouseBenchmark/Cloud-DWB-Derived-from-TPCH/100GB/

Redshift Serverless で任意の管理者パスワードを設定する

AWS

マネジメントコンソールで Redshift Serverless のワークグループ作成時に [データベース名とパスワード] で [管理者ユーザー認証情報をカスタマイズ] をチェックし、[Manually add the admin password] を選択してパスワードを入力する。 参考 Amazon Redsh…

AWS SDK はファイルを S3 にアップロードする際にチェックサムで整合性をチェックしてくれる

AWS

AWS SDK は MD5 以外を使うと自動でチェックサムをチェックしてくれると聞いて試してみた。 新しいチェックサムのサポート 2022 年 2 月 25 日(米国時間)は、S3 の 4 つのチェックサムアルゴリズムの新しいサポートについてお話しします。Amazon S3 に保存…

Amazon Keyspaces の Auto Scaling でスケールアウトするまでの所要時間

AWS

Amazon Keyspaces の Auto Scaling でスケールアウトするまでの所要時間を実測してみた。 キャパシティモードがプロビジョンドのテーブル最小 RCU/WCU: 2000、最大 RCU/WCU: 20,000、目標使用率: 70% に対して、YCSB から負荷をかけてみて、3〜4分程度でAuto…

cqlsh の TIMING ON コマンドで CQL の実行時間を計測する

AWS

cqlsh の TIMING ON コマンドで CQL の実行時間を計測する方法。 以下は cqlsh 6.8 から Amazon Keyspaces に接続して CQL 実行時間を計測した手順。 インストール Apache Cassandra Download | DataStax Enterprise からcqlsh 6.8をダウンロードする。 $ wg…

YCSB から VPC エンドポイント経由で Amazon Keyspaces に負荷をかける

AWS

負荷をかける [ec2-user@ip-172-31-26-19 YCSB]$ ./bin/ycsb run cassandra-cql -p hosts=cassandra.ap-northeast-1.amazonaws.com -p port=9142 -P ./workloads/workloada_keyspaces -s -threads 100 -p cassandra.writeconsistencylevel=LOCAL_QUORUM -p c…

Amazon Keyspaces 関連のリソース(スライド、ドキュメント、論文など)

Apache Cassandra Cassandra ユーザー向け Bigtable | Google Cloud NoSQLデータベースCassandraの紹介 〜 ヤフーのデータ基盤を支える技術 - Yahoo! JAPAN Tech Blog SSTable Attached Secondary Index(SASI)を使用したインデックス作成 SASI, Cassandra …

Amazon DynamoDB 関連のリソース(スライド、ドキュメント、論文など)

AWS

NoSQL 開発者のためのNoSQL Database の選び方 入門(2021, Momoko Asai) Amazon DynamoDB スライド Amazon DynamoDB Advanced Design Pattern(2018 Dev Day Daichi Egawa) Amazon DynamoDB deep dive: Advanced design patterns(2020, oranie) Amazon Dynamo…

MacBook Pro で Logicool MX ERGO(MXTB1s) のトラックボールが突然反応しなくなった

症状 突然、Logicool MX ERGO(MXTB1s) のトラックボールが突然反応しなくなった。クリックなど他の操作はできる。 解決策 底面にある穴から、指やボールペンの柄などでボールを押すとボールを外してホコリを掃除したら直った。 参考: トラックボールとカーソ…

VPC 内 Glue から別 VPC の Redshift などに接続できるか

AWS

VPC内Glueジョブ(Spark、Python shell)から別VPCの Redshift や RDS などに接続できるか。同一 VPC の別 Subnet は当然接続できる。 別 VPC の場合、VPC ピアリングや Transit Gateway で接続すれば接続できる。 参考 AWS Glue 接続とデータベースで異なる…

macOS に AWS CLI v2 をインストールする

macOS に AWS CLI v2 をインストールした手順。 インストール % curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg" % sudo installer -pkg ./AWSCLIV2.pkg -target / 確認 % which aws /usr/local/bin/aws % aws --version aws-cli/2.13.…

macOS Ventura 13.5.2 に Python をインストールしようとすると ModuleNotFoundError: No module named '_lzma' と怒られる

事象 macOS Ventura 13.5.2 に Python をインストールしようとすると ModuleNotFoundError: No module named '_lzma' と怒られる。 % pyenv install 3.11.6 python-build: use readline from homebrew Downloading Python-3.11.6.tar.xz... -> https://www.p…

pandas で df[df[列番号]=='文字列'] と df[df[列番号].isin(['文字列'])] のどちらが速いか(文字列編)

pandas で df[df[列番号]==数値] と df[df[列番号].isin([数値])] のどちらが速いか(数値編) - ablog の文字列版。 サマリー 14MBの CSV ファイルを読んで 1,000 回 df[df[列番号]=='文字列'] または df[df[列番号].isin(['文字列'])] の実行時間を計測す…

pandas で df[df[列番号]==数値] と df[df[列番号].isin([数値])] のどちらが速いか(数値編)

サマリー 14MBの CSV ファイルを読んで 1,000 回 df[df[列番号]==数値] または df[df[列番号].isin([数値])] の実行時間を計測すると、isin のほうが 0.875s(=3.131s-2.256s)遅い結果になった。cProfile でプロファイリングすると df[df[列番号]==数値] の…