ablog

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

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

HDFS キャッシング

HDFS のブロックはファイルシステムに保存されるため、Linux カーネルのページキャッシュを自然に使っていたが、ユーザー空間から制御できないため、HDFSキャッシング(Hadoop 2.3.0 以降)という機能がある。 HDFS上のデータの読み書きの際には、ディスクか…

Amazon Linux で PyArrow を使ってみる

Amazon Linux で PyArrow を使ってみたメモ。 準備 PyArrow をインストールする $ sudo pip install --upgrade pip $ sudo yum install python36 python36-virtualenv python36-pip $ sudo python3 -m pip install pandas pyarrow データをコピーする $ mkdi…

HDFS の下の OS レイヤーを覗いてみる

Big Data Forensics: Learning Hadoop Investigations作者: Joe Sremack出版社/メーカー: Packt Publishing発売日: 2015/08/24メディア: ペーパーバックこの商品を含むブログを見る HDFS collections through the host operating system Targeted collection…

PySpark から Parquet ファイル on HFDS にクエリを実行してみる

AWS

準備 EMRクラスターを作成する。 EMR のセキュリティグループで ssh でのアクセスを許可する。 マスターノードに ssh でログインする。 $ ssh -i ~/us-east-1.pem hadoop@ec2-**-***-**-**.compute-1.amazonaws.com HDFS にディレクトリを作成して S3 からデ…

Cloudera Altus Director でクラスターの作成に失敗する

事象 ログを確認すると "In order to use this AWS Marketplace product you need to accept terms and subscribe. To do so please visit https://aws.amazon.com/marketplace/pp?sku=aw0evgkw8e5c1q413zgy5pjce" とメッセージが出力されている。 /usr/loca…

Cloudera Altus Director のログの場所

macOS Sierra での Cloudera Altus Director 6.0 のログ出力先は以下の通り。 /usr/local/Cellar/cloudera-director-client/6.0.0/libexec/logs /usr/local/Cellar/cloudera-director-server/6.0.0/libexec/logs 以下は調べてみたメモ。 /usr/local/bin/clou…

Parquet

AWS

検証結果 Athena # クエリ 実行時間 I/O量 1 select count(*) from amazon_reviews_parquet 5.6秒 0KB 2 select count(year) from amazon_reviews_parquet 6.63秒 2.58MB 3 select count(review_body) from amazon_reviews_parquet 5.7秒 34.05GB 4 select *…

db tech showcase 2018 Day 2

2018/9/20(木)に開催された db tech showcase 2018 Day 2 のメモ。 GPUとNVMEでPostgreSQLの限界に挑む 〜クエリ処理速度10GB/sを越えて〜 概要 講師: 海外 浩平さん(HeteroDB,Inc - チーフアーキテクト 兼 代表取締役社長) 講師略歴: PostgreSQL開発者…

Cloudera Altus Director でクラスターの作成中に " java.net.ConnectException: Connection refused" と怒られる

事象 Cloudera Altus Director でクラスターの作成中に " java.net.ConnectException: Connection refused" と怒られる。 /usr/local/Cellar/cloudera-director-server/6.0.0/libexec/logs/application.log [2018-09-23 02:16:09.087 +0900] ERROR [p-201411…

Cloudera Altus Director を使ってみる

MacBook Pro (macOS Sierra) に Cloudera Altus Director をインストールして AWS に Hadoop クラスターを作成してみた。 Cloudera Altus Director のインストール Cloudera Director Server をインストールする $ brew tap takabow/cloudera $ brew install…

db tech showcase 2018 Day 3

2018/9/21(金)に開催された db tech showcase 2018 Day 3 のメモ。 Pythonから使える列指向ファイルフォーマット・Parquetを使おう Parquetの例で @shiumachi のツイートが紹介されてる #dbts2018 https://t.co/3TvkfdLd1R— Tatsuo Kawasαki (@kernel023) …

PostgreSQL のクエリーリライトはコストベースではなく一定のルールでリライトされる

PostgreSQL のクエリーリライトはプラン(実行計画)を生成する前に一定のルールで書き換えられる。 http://ikubo.x0.com/PostgreSQL/pdf/IK07_postgres_041214.pdf リライタのエントリポイントは、pg_rewrite_queries() であり、クエリの木のリストをもらっ…

db tech showcase 2018 Day 1

DB

年に一度のデータベース界の同窓会的なイベント db tech showcase 2018 Day 1 に参加してきた。写真は懇親会でのマグロ解体ショー。 小幡さん、おつかれさまでした! 以下は聴講したセッションのメモ。 顧客理解のためのDWHにおける、ビッグデータ品質マネジ…

AWS Glue の Zeppelin ノートブックで PySpark を実行して CSV を加工してみた

AWS

AWS Glue で開発エンドポイントを作成して、Zeppelin のノートブックで PySpark を実行して S3にある CSV を加工(行をフィルタ)してS3に書いてみた。S3 から読んだ CSV は Glue の DynamicFrame から SparkSQL DataFrame に変換してフィルタした後、Dynami…

Spark の RDD、DataFrame、DAG と Glue の DynamicFrame などについて

AWS

Sparkとは ビッグデータを支える技術―刻々とデータが脈打つ自動化の世界 (WEB+DB PRESS plus)作者: 西田圭介出版社/メーカー: 技術評論社発売日: 2017/09/22メディア: 単行本(ソフトカバー)この商品を含むブログ (3件) を見るP.100 「Apache Spark」も、Ma…

Athena に JDBC Driver 経由で接続してクエリを発行する

AWS

簡単な Java プログラムを作成して JDBC Driver 経由で Athena に接続してみた。CloudTrail を確認すると、JDBC接続しても JDBC Driver に同梱されている AWS SDK for java から API を実行していることが分かる。 準備 Open JDK をインストールする JDBC Dr…

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

AWS

$ sudo yum search java $ sudo yum -y install java-1.7.0-openjdk-devel.x86_64 参考 https://www.yoheim.net/blog.php?q=20180101 追記(2020/5/5): Amazon Linux2 に JDK 8 をインストールした。 $ sudo yum -y install java-1.8.0-openjdk-devel.x86_64

AWS Glue とは

AWS

カタログ データベース テーブル 分類子(Classifier) 組み込み分類子 カスタム分類子 ETL ジョブ トリガー 開発エンドポイント セキュリティ ETL Hiveメタストア Hive がテーブルのスキーマやその他の システムメタデータを永続化するため の独立したリレ…

EC2インスタンス作成後に自動割り当てパブリックIPを割り当てることはできない

AWS

手動でパブリック IP アドレスをインスタンスに関連付けること、また、手動でインスタンスから割り当て解除することはできません。場合によって、パブリック IP アドレスはインスタンスから解放されたり、新しいインスタンスに割り当てられたりします Amazon…

「AWS Cloudtrail Logs を AWS Glue と Amazon Quicksight 使って可視化する」をやってみた

AWS

AWS Cloudtrail Logs を AWS Glue と Amazon Quicksight 使って可視化する | Amazon Web Services ブログ を試してみた。 Lambda用ロールの作成 名前: CloudTrailWatchLogs インラインポリシー { "Version": "2012-10-17", "Statement": [ { "Effect": "Allo…

「AWS Glue と Amazon S3 を使用してデータレイクの基礎を構築する」を試してみた

AWS

AWS Glue と Amazon S3 を使用してデータレイクの基礎を構築する | Amazon Web Services ブログ を試してみた。 以下、メモ。 データソースの確認 % aws s3 ls --human-readable s3://aws-bigdata-blog/artifacts/glue-data-lake/data/ 2017-10-24 06:24:27 …

IAM ユーザーで QuickSight を初回利用する際の手順

AWS

すでに QuickSight を利用しているAWSアカウントで、別のIAMユーザーで最初に QuickSight を使う場合の手順をメモ。 AWSマネジメントコンソールで [QuickSight] を選択する。 メールアドレスを入力する。 完了 参考 IAMユーザーを使用してAmazon QuickSight…

VPCエンドポイントポリシーの例

AWS

{ "Version": "2012-10-17", "Id": "Policy1536592965770", "Statement": [ { "Sid": "Stmt1536592962486", "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:::az-safari/*" } ] }

VPCフローログのサイズがどの程度になるか

AWS

別々のVPCにEC2インスタンスを作成して iperf で1時間ネットワーク転送をして VPC フローログのサイズがどの程度になるか検証してみた。 検証手順 VPC フローログの設定 以下を2つのVPCで設定する 任意の名前で S3 バケットを作成する。 EC2 を作成する VPC …

PySpark のコードを実行すると "ValueError: Cannot run multiple SparkContexts at once; existing SparkContext" と怒られる

AWS

事象 AWS Glue の Zeppelin で以下の PySpark のコードを実行すると、"ValueError: Cannot run multiple SparkContexts at once; existing SparkContext" と怒られる。 コード import sys from awsglue.transforms import * from awsglue.utils import getRe…

AD連携でAWSアカウントにログインし別アカウントでスイッチロールしたら CloudTrail にどう記録されるか

AWS

Active Directory(AD)連携でAWSマネジメントコンソールにログインしてさらに別のAWSアカウントにスイッチロールして操作した場合、同じADユーザー(AWSでは同じロール)を同時に複数人で操作した場合に誰が何をしたか追跡できるか調べたメモ。 Chrome、Saf…

EMR のコア・タスクノード障害で別インスタンス作成時にブートストラップアクションは実行される

AWS

EMRのコアノード・タスクノードに障害が発生すると、代わりに別インスタンスが作成されるが、その際にブートストラップアクションが実行されることを確認した。 手順 EMRクラスタを作成する EMR のブートストラップアクションはマスター・コア・タスクノー…

Active Directory のアカウントで AWSマネジメントコンソールにログインする

AWS

Simple AD(AWS のマネージドな Active Directory サービス) でディレクトリとユーザーを作成し、Active Directory ユーザーで認証してAWSマネジメントコンソールに SSO でログインしてみた。 設定手順 ディレクトリの作成 AWSマネジメントコンソールにログイ…

New Relic で EMR の性能情報を可視化してみる

AWS

New Relic で EMR の各ノードにエージェントをインストールし、EMR Integration を設定して可視化したメモ。 設定手順 New Relic で EC2 の性能情報を可視化する - ablog の手順で各ノードに New Relic エージェントをインストールする。 New Relic で[INFRA…

EMR のブートストラップアクションはマスター・コア・タスクノードで実行される

AWS

EMR のブートストラップアクションはマスター・コア・タスクノードで実行されることを確認したメモ。 検証結果 起動時に実行するスクリプトを作成する s3://az-test/bootstrap.sh #!/bin/bash set -e wget -S -T 10 -t 5 http://elasticmapreduce.s3.amazona…