ablog

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

2019-12-01から1ヶ月間の記事一覧

クロスアカウントでS3マルチパートアップロードすると "when calling the UploadPartCopy operation: Access Denied" と怒られる

AWS

事象 KMS CMK でデフォルト暗号化しているS3バケットにクロスアカウントのS3バケット間コピーでマルチパートアップロードが失敗するがマルチパートでない場合は成功する。AWS CLI (aws s3 cp/sync など)はデフォルトで 8MB 以上だとマルチパートアップロー…

Session Manager のログ

AWS

Systems Manager のセッションマネージャについてちょっと調べたメモ。 sh-4.2$ sudo su - Last login: Wed Dec 25 04:26:13 UTC 2019 on pts/0 [root@ip-172-**-*-97 ~]# cat /var/log/secure Dec 22 06:09:01 ip-172-**-*-97 sshd[20477]: Accepted public…

PySparkメモ

カウントする df.count() スキーマを表示する Spark DataframeのSample Code集 - Qiita print df.printSchema() DynamicFrame Dataframe 変換 from awsglue.dynamicframe import DynamicFrame # DynamicFrame -> Spark DataFrame df = DynamicFrame.toDF(<DynamicFrame>) #</dynamicframe>…

PySpark でデータを増幅する

https://docs.aws.amazon.com/ja_jp/redshift/latest/dg/tutorial-tuning-tables-create-test-data.html の lineorder テーブルのデータを増幅する PySpark スクリプト for Glue ジョブ。実行状況は Spark History UI から確認する(AWS マネジメントコンソ…

PySpark で DataFrame にリテラルで列を追加しようとすると "col should be Column" と怒られる

事象 PySpark で DataFrame にリテラルで列を追加しようとすると "col should be Column" と怒られる。 コード import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from …

Oracle Database のクエリオプティマイザに関するエッセイ

JPOUG Advent Calendar 2019 の23日目のエントリーです。22日目は新久保 浩二さんのCOMMITについて少し考えてみた(1) でした。JPOUG Advent Calendar に参加するのも7回目になりました(皆勤賞)。Oracle Database などの商用DBや PostgreSQL、MySQL など RDBM…

Amazon Redshift チュートリアルの Star Schema Benchmark のサンプルデータを増幅する

AWS

Redshift の Tutorial: Tuning Table Design の Star Schema Benchmark (SSB) のサンプルデータを増幅した。 lineorder に lo_yyyy カラムを追加し、1001年〜2000年までの1,000倍に増幅し、24.8GB を 24.8TB に増幅した。 Athena で以下のテーブルを作成する…

When graphing CPU as stacked area chart, which parts add up to total ?

when graphing CPU as stacked area chart, which parts add up to total ?guestirqnicestealStacking System and Users and probably wait are clear, but is nice part of user? Looks like guest is part of nice. Is irq part of sys? @OracleSK@oradiag…

Presto の JVM の起動オプションは /etc/presto/conf/jvm.config で設定できる

Presto の JVM の起動オプションを指定したい場合は /etc/presto/conf/jvm.config で設定して、Presto を再起動すればよい。 /etc/presto/conf/jvm.config を編集する。 $ vi /etc/presto/conf/jvm.config -verbose:class -server -Xmx214026810294 -XX:+Use…

iostat の avgrq-sz(average request size)の単位はセクタ数

iostat の avgrq-sz(average request size)の単位はセクタ数かKB。iostat のバージョンによって異なるので、使う環境で man で確認すべし。 iostat の出力 $ iostat -dx 2 3 Linux 4.14.146-93.123.amzn1.x86_64 (ip-172-31-10-8) 12/18/19 _x86_64_ (32 C…

AWS Lake Formation メモ

AWS

1テーブルData permissionsで権限を付与すると、データベースやテーブルがGlueやAthenaで表示される。 grant したテーブルのみリストに表示される。 特定カラムのみ grant すると Glue や Athena では権限のあるカラムだけが定義もデータも表示される。 Athe…

AWS Lake Formation 管理下の S3 バケットを Glue でクロールすると AccessDeniedException で失敗する

AWS

事象 Lake Formation で Data lake locations に指定したS3バケットのデータを Glue でクロールすると AccessDeniedException で失敗する。 [3abc7df1-8157-4d0f-9ae0-1ff50dee0de6] ERROR : Insufficient Lake Formation permission(s) on gz_sales (Databa…

データベース、OS、パフォーマンスを勉強したい人におすすめの入門編の書籍・資料

データベース、OS、パフォーマンスを勉強したい人におすすめの入門編の書籍・資料(一部入門編でないものも含んでいます)。絵で見てわかるOS/ストレージ/ネットワーク 新装版作者:木村 達也,西田 光志,鳥嶋 一孝,田中 彰人,小田 圭二出版社/メーカー: 翔泳…

Apache Arrow Tokyo Meetup 2019 に参加してきた

Apache Arrow東京ミートアップ2019 - connpass に参加してきた。 カラムナの会のメンバーとしては要チェックな Apache Arrow。圧縮有無は Parquet との大きな違い。圧縮するとIO量は減るけどCPUでのオーバヘッドが増えるので、IOレイテンシとのトレードオフ…

G SuiteアカウントでAWSマネジメントコンソールにSSO を設定する

gmail にログイン G-Suiteアカウントを作成する 参考 Amazon Web Services cloud application - G Suite Admin Help G Suite アカウントを用いた AWS へのシングルサインオン | AWS Startup ブログ

Presto で Parquet にクエリすると、参照するカラムのみ読んでいることを確認した

HDFS の Datanode の Flame Graph sun.nio.ch.FileChannelImpl:::transferTo から sendfile システムコールが呼ばれている。 一番左のスタックをドリルダウンしたもの。 Presto Server の Flame Graph 一番左のスタックをドリルダウンしたもの、com.facebook…