ablog

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

2020-06-01から1ヶ月間の記事一覧

pyspark.sql module の select で DataFrame に複数カラムを連結したカラムを追加する

pyspark.sql module の select、concat、col で DataFrame に複数カラムを連結したカラムを追加する。.alias("...") で連結したカラムに別名をつけている。 from pyspark.sql.functions import concat, col, lit df = df.select(col("col1"), col("col2"), c…

pyspark.sql module の select で DataFrame の全カラムを取得する

pyspark.sql module の select で DataFrame の全カラムを取得する。 df = df.select([column for column in df.columns]) 参考 drop_list = ['a column', 'another column', ...] df.select([column for column in df.columns if column not in drop_list])…

Lambda の同時実行数を1 にして並行実行してみる

AWS

AWS マネジメントコンソールで同時実行数を 1 に設定する。 並行で実行する for i in {1..100} do aws lambda invoke --function-name testLambdaFunction output_${i}.txt 2>&1 & done; TooManyRequestsException が発生し、4 回リトライして実行できない場…

macOS で Docker のログを見る

$ docker run -it --privileged --pid=host debian nsenter -t 1 -m -u -n -i sh # cd /var/lib/docker/containers/ /var/lib/docker/containers # ls -l total 8 drwx------ 4 root root 4096 Jun 28 16:48 3449e97b9cc9c4b7afed594d23392e0261ca63cf803eed…

Glue でクロールすると "Service: Amazon S3; Status Code: 403 Error Code AccessDenied" と怒られる

AWS

事象 AWS Glue Crawler でクロールすると "Error Access Denied (Service: Amazon S3; Status Code: 403; Error Code AccessDenied; Request ID: ..." と怒られる。 IAMポリシー、KMS キーポリシー、S3 バケットポリシーでは必要な権限は付与されている。 [8…

Docker で Apache Spark UI から Glue のジョブ結果を確認する

AWS

Docker で Apache Spark History Server を起動し、Spark Web UI を表示したメモ。 macOS on Macbook Pro で Spark UI を使ってみた。 Docker をインストール・設定 Docker を Mac にインストールする - ablog Amazon Linux 2 に docker をインストールする …

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

AWS

Amazon Linux 2 に docker をインストールしたメモ。 docker をインストール sudo yum install -y docker sudo usermod -a -G docker ec2-user 起動 sudo /bin/systemctl start docker.service 自動起動設定 sudo systemctl enable docker 参考 Amazon Linux…

MySQL で performance_schema を有効化する

performance_schema=1 参考 MySQL :: MySQL 5.6 リファレンスマニュアル :: 22.2.2 パフォーマンススキーマ起動構成 パフォーマンスインサイトの有効化 - Amazon Relational Database Service

Amazon SageMaker の Jupyter Notebook のコードを Github で管理する

AWS

Github リポジトリを作成する SageMaker で Github リポジトリを登録する(以下、マネコンでの操作) [Amazon SageMaker]-[ノートブック]-[Git リポジトリ]-[リポジトリの追加] どのタイプのリポジトリを追加しますか?: GitHub または他の Git ベースのリポ…

Amazon QuickSight から Athena にクエリすると "Access Denied"

AWS

事象 以下のエラーメッセージが表示される。 [Simba][AthenaJDBC](100071) An error has been thrown from the AWS Athena client. Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: C39A664B8E41665A; S3 Exte…

Athena でクエリすると "Zero records returned." と言われる

AWS

事象 データが空でないのに、Athena で問合せると "Zero records returned." と言われる。 原因 クローラ設定で対象をファイルに指定している 解決策 クローラがファイルではなくバケットかプレフィックスまでを指すようにする。 参考 空の結果を返す Amazon…

Jupyter Notebook の sparkmagic は matplotlib でグラフを描画できない

Jupyter Notebook の sparkmagic は matplotlib でグラフを描画できなかったので、DataFrame をファイルに出力して、conda_python3 で読んでグラフを描画した。 参考 Sparkmagic is a set of tools for interactively working with remote Spark clusters th…

Python で Web サイトにアクセスすると "HTTP Error 403: Forbidden" で怒られる

Python でとある Web サイトにアクセスすると "HTTP Error 403: Forbidden" で怒られたが、User-Agent をセットすると成功(HTTP ステータスコード 200)した。 事象 エラーメッセージ $ python http_download.py HTTP Error 403: Forbidden コード(http_do…

SparkSQL メモ

DataFrame を SparkSQL で操作する サンプル df.registerTempTable('table1') df_res = spark.sql('select * from table1') df_res.show() 参考: PySpark の DataFrame を SparkSQL で操作する - CUBE SUGAR CONTAINER Timestamp 型に変更する やりたいこと …

Glue クローラでカスタム分類子を使う

AWS

サンプル %{TIMESTAMP_ISO8601:timestamp} %{WORD:method} %{NOTSPACE:uri} %{WORD:statuscode} %{GREEDYDATA:json} 参考 Glueの使い方的な⑩(カスタムClassifierの手始め) - Qiita カスタム分類子の書き込み - AWS Glue Test grok patterns Grok Debugger

S3 Object Lock をバケット作成後に有効化する

AWS

新しいバケットに対してのみ オブジェクトロック を有効にすることができます。既存のバケットの オブジェクトロック をオンにする場合は、AWS サポートにお問い合わせください。 S3 オブジェクトロック の概要 - Amazon Simple Storage Service 関連 S3 Obj…