ablog

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

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

Parquet ファイルに Presto でクエリ時の Column Projection について調べた

確認したかったこと Parquet ファイルに対して Presto で select count(year) のように特定カラムのみ参照するとそのカラムのみをストレージから読んでいる。 select count(*) すると Parquet ファイルのフッターのメタデータ(Row group の num rows)のみ…

S3 バケットのデフォルト暗号化に使う CMK を KMS で生成したものから BYOK に変えてみる

AWS

S3 バケットのデフォルト暗号化に使う CMK(Customer Master Key) を KMS(Key Management Service) で生成したものから BYOK(Bring Your Own Key) に変えてみた。 手順 KMS に CMK を作成する CMK を作成する $ aws kms create-key { "KeyMetadata": { "Origi…

S3のデフォルト暗号化キーはエイリアス名ではなくキーIDと紐付いてそう

AWS

AWSマネジメントコンソールでS3バケットのデフォルト暗号化設定で、エイリアス名でキーを指定できるが、後で確認するとエイリアス名ではなくキーIDで表示される。 設定時 設定後に確認すると AWS CLI からS3とKMSの設定を確認すると、S3バケットとエイリアス…

grep でパターンにマッチする・しないファイルをリストする

マッチするファイルのリスト $ grep -l END *.sql マッチしないファイルのリスト $ grep -L END *.sql 参考 » grepのオプションおさらい TECHSCORE BLOG

KMSで別のキーマテリアルを CMK にインポートすることはできない

AWS

CMK を作成してインポートする CMK を作成する。 $ aws kms create-key --origin EXTERNAL --description byok_key_test1 { "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "02c66c29-81b3-404b-beba-35355b4a56cc", "Description": "byok_key_test1", "K…

Redshift の CMK を KMS で生成したものから BYOK に変更する

AWS

Redshift の場合、EBSのようにスナップショットのコピー時に CMK(Customer Master Key) を変更できないので、エンドポイントを変更したくない場合は、既存のクラスター名を変更して、元のクラスター名で BYOK を指定してクラスターを作成して、旧クラスター…

EBS ボリュームの CMK を KMS で生成したものから BYOK に変更する

AWS

EBS ボリュームの CMK(Customer Master Key) を KMS で生成したものから BYOK(Bring Your Own Key) したものに変更してみた。EBS のスナップショットを取得して、スナップショットをコピーする際に CMK を変更し、EBS ボリュームを作成して EC2 にアタッチす…

S3 のデフォルト暗号化キーに使っている BYOK した CMK を入れ替える

AWS

KMS に BYOK(Bring Your Own Key) した CMK(Customer Master Key) で S3 バケットを SSE-KMS(Server-Side Encryption with AWS KMS) でデフォルト暗号化し、ファイルを S3 に Put した後、S3 のデフォルト暗号化キーを BYOK した別の CMK に変更して、S3 の…

Aurora PostgreSQL互換でクエリログを取得する

AWS

Aurora PostgreSQL 9.6 互換でクエリログを取得してみた。 設定 DB Parameter Group をパラメータグループファミリー"aurora-postgresql9.6" で作成する log_statement=all DDL、DML も全て記録する log_min_duration_statement=0 単位はミリ秒、指定したミ…

Aurora MySQL互換でスロークエリログを取得する

AWS

Aurora MySQL 5.7互換で、スロークエリログを CloudWatch Logs に出力してみた。 設定 DB Parameter Group をパラメータグループファミリー"aurora-mysql5.7" で作成する slow_query_log=1 long_query_time=0 # 全てのクエリーを出力する DBインスタンスの D…

SCT でレポートを PDF で保存しようとすると "No glyph for U+5348 in font AmazonEmber-Regular" と怒られる

AWS

事象 AWS Schema Conversion Tool で Assessment Report Viewを表示して PDF で保存しようとすると "No glyph for U+5348 in font AmazonEmber-Regular" と怒られる。 回避策 言語を英語、地域をUSにしてOS再起動して、SCTを再実行する。 環境 macOS Sierra …

Presto で Parquet にクエリするとファイル中の必要な Column chunk のみを読んでいるか

Presto から見ると (parquetの)page単位で IO して、HDFS の API を叩いて、HDFS は DSDataInputStream とかで読んで、OSレイヤーからみると sendfile(2) で xfs などのファイルシステムのファイルを読んでということになってるのではないかと推察。— yohei.…

ssh で Amazon Linux on EC2 に接続しようとすると "Permission denied (publickey)" エラー

Mac

Amazon Linux や EC2 は関係ない話だが、Public key を Amazon Linux on EC2 に登録して、Mac から ssh 接続しようとすると、 $ ssh -i ~/.ssh/id_rsa.pub tmsuser@ec2-**-***-174-72.ap-northeast-1.compute.amazonaws.com (中略) Permission denied (pub…

perf-map-agent 実行時に "AttachNotSupportedException: Unable to open socket file" と怒られる

事象 perf-map-agent をビルドして $ sudo yum -y install cmake $ git clone --depth=1 https://github.com/jvm-profiling-tools/perf-map-agent $ cd perf-map-agent $ cmake . $ make $ cd out /etc/hadoop/conf/ 以下の hadoop-env.sh, yarn-env.sh にex…

jar を解凍してクラスをデコンパイルして Java コードを調査する

find . -type f -name '*.jar'|xargs -n1 jar xf find . -type f -name '*.class'|xargs -n 1 jad find . -name '*.jad'|xargs -n 1 perl -nle '/md5/i and print qq/$ARGV:$_/'

EC2に Netflix Vector をインストールしてみた

AWS

EC2 に Netflix Vector をインストールしてみた。 インストール・設定 pcp のインストール $ sudo yum -y install git flex bison libmicrohttpd libmicrohttpd-devel http-parser atlas-sse3-devel $ git clone https://github.com/performancecopilot/pcp.…

特定のLambda関数の編集・実行を制限する

AWS

アプリケーションをデプロイする人に特定のLambda関数だけにはアクセスできないようにするには、ResourceでLambda関数を指定してDenyするIAMポリシーを作成してIAMロールにアタッチし、このLambda関数の編集や実行を許可する以外のIAMユーザーにIAMロールを…

Oracle->PostgreSQL移行関連

AWS SCT 評価レポート AWS Schema Conversion Tool 評価レポート - AWS Schema Conversion Tool ora2pg Ora2Pg : Migrates Oracle to PostgreSQL Oracle Database 11g/12c To Amazon Aurora with PostgreSQL Compatibility (9.6.x) Migration Playbook https…

VPCエンドポイントポリシーを変更すると CWE で検知して Lambda でリセットするようにしてみた

AWS

VPCエンドポイントポリシーを変更すると CloudWatch Events で検知して Lambda でリセットするようにしてみた。 設定 IAMロールを作成する 名前: LambdaVpcEndpoint インラインポリシー { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Ac…

S3バケットの Static website hosting が有効化されたら CWE -> Lambda で自動的に無効化する

AWS

S3バケットの Static website hosting が有効化されたら、CloudWatch Events で検知して Lambda で無効化してみたメモ。 設定 Lambda 関数を作成する 名前: S3DeleteBucketWebsite ランタイム: Python 2.7 ロール: S3FullAccess 関数コード import boto3 s3 …

アクティビティ発生後 CloudTrail でログ出力されるまでのタイムラグ

AWS

CloudTrail typically delivers log files within 15 minutes of account activity. In addition, CloudTrail publishes log files multiple times an hour, about every five minutes. These log files contain API calls from services in the account tha…

Athena で CloudTrail のイベントを集計する

AWS

CloudTrail を S3 に保存しておき(設定方法はコチラ)、Athena で集計してみた。 eventsource で集計 select eventsource, count(1) as cnt from default.cloudtrail_logs_cloudtrail_do_not_delete group by eventsource order by cnt desc eventsource co…

Prestoで結果セットをファイルに出力する

Simple answer : presto --execute "select * from foo" --output-format CSV > foo.csv You can use these formats : ALIGNED VERTICAL CSV TSV CSV_HEADER TSV_HEADER How to export result of select statement in prestodb.io - Stack Overflow とすれば…

Hive テーブル作成時に "java.lang.IllegalArgumentException: java.net.UnknownHostException" と怒られる

事象 Hive テーブルを作成しようとすると "FAILED: SemanticException java.lang.IllegalArgumentException: java.net.UnknownHostException: " と怒られる。 hive> CREATE TABLE parquet.amazon_reviews_parquet( marketplace string, customer_id string, …

presto-cli で pager を off にする

You can set the variable permanently in bash using the export command. For example, to set the pager to the cat program, execute: export PRESTO_PAGER=cat To disable the pager entirely execute: export PRESTO_PAGER= command line interface - …

Prestoでparquetファイルにクエリをかける

データをコピーする $ s3-dist-cp --src s3://amazon-reviews-pds/parquet/ --dest /amazon-reviews-pds/parquet/ $ hadoop fs -ls /amazon-reviews-pds/parquet/|head -10 Found 43 items drwxr-xr-x - hadoop hadoop 0 2018-09-29 20:12 /amazon-reviews-p…

パッブリックデータセット

https://registry.opendata.aws/

HDFS の I/O サイズ

emr-5.17.0 で /etc/hadoop/conf/core-site.xml を確認すると以下の通り*1。 <property> <name>io.file.buffer.size</name> <value>65536</value> </property> Note that HDFS Readers do not read whole blocks of data at a time, and instead stream the data via a buffered read (64k-128k typically). Th…

EMR の Web インターフェース

AWS

Name of interface URI YARN ResourceManager http://master-public-dns-name:8088/ YARN NodeManager http://slave-public-dns-name:8042/ Hadoop HDFS NameNode http://master-public-dns-name:50070/ Hadoop HDFS DataNode http://slave-public-dns-name:…

Parquet についてのメモ

Apache Impalaパフォーマンスチューニング #dbts2018 from Cloudera Japan 「db analytics showcase Sapporo 2018」で玉川竜司さんのParquetの話を聞いてきました #dbts2018 #dbasSPR | DevelopersIO Diving into Spark and Parquet Workloads, by Example …