雲のメモ帳

猫とクラウドと旅行が好きなインフラエンジニアです。 日々の調べたことや興味が持ったことをこのブログにアウトプットします。

Azure Databricksのpysparkでデータ加工する際によく使うコード集

これはなに? 私がDatabricksのpysparkを使ったデータ加工する際によく使っているコードをメモとして残します。 Databricks特有の部分と一般的なpysparkの部分を分けて書いています。

Azure File Storageの使用量を監視する

これはなに? Azure Fileストレージの使用量監視、アラートの設定をやってみます。 監視はAzure モニターを利用します。

Splunk Add-on for AWSの取り込みログを確認する

これはなに? 以前AWS CURの情報をSplunk Add-on for AWSでデータ取り込みをしたのですが、取り込みログを調べる方法を記載します。Splunkのライセンス形態は日毎の取り込み容量になるので、取り込み容量の調査をする際に有効なログです。 以前の記事は以下…

Athenaで各レコードのソースファイルを特定する

これはなに? Athenaでのクエリ結果のソースファイルを特定する方法。Athenaのトラブルシューティングをする際のソースファイルがおかしいのか、テーブルがおかしいのか切り分けする必要があるので、その際に利用できます。

Splunkダッシュボードで動的パラメータ(トークン)を利用する

これはなに? 以前AWS CURの情報を可視化したのですが、ダッシュボード化した際に、ダッシュボード上で任意のパラメータで可視化したくなったので、Splunkで動的パラメータを使ってみました。 Splunkでは動的パラメータのことをトークンと言うらしいです。 w…

SplunkでCSVベースのLookup Tableを使ってみる

これはなに? Splunkでログ分析した際に、ログの出力結果と外部にある情報を結合したいことがあり、Lookup Tableがめちゃくちゃ便利だったので、設定方法を備忘録として記載します。

DatabricksへのアクセスをIP制限する

これはなに? DatabricksでIP制限するための手順メモ。 Azureを利用している場合は、P1ライセンスを持っていればAzureADの認証部分でも実施可能ですが、今回はDatabricksの機能を使ってIP制限します。

LINE Botを使って、LINE上からAWS利用料を確認できるようにしてみた

これはなに? AWS利用料を確認するLINE Botを作ってみたので機能紹介と簡単な構築手順&コード公開。 個人の検証環境としてAWSを利用していると結構課金額がいってしまうので、こまめに確認できるようによく利用するツールのLINEを使ってAWS利用料を確認でき…

Redshift から amazon-redshift-python-driver を使ってデータ取得し、Dataframe に取り込む

これはなに? 2020年11月にRedshiftのPythonドライバがOSSになったので使ってみた。 Redshiftから取得したデータをPandasのDataframeを使って分析することが多いので、取得してきたデータをDFに格納までしてみました。 GitHub - aws/amazon-redshift-python-…

AWS CLIでS3 SELECTを実行し、S3上のファイルの中身を簡単に確認する

これはなに? AWS S3 Selectを使って、CSVやParquetファイルの中身を確認するスクリプトを作ったので備忘録。 CLIをそのまま使うとパラメータの指定が大変なので、スクリプト化しました。利用しているAWSコマンドは、”select-object-content”。 select-objec…

Splunk EnterpriseでAWS CURの情報を可視化/分析する

これはなに? Splunkに、AWS のコストと使用状況レポート (AWS CUR)の情報を取り込んでコスト分析できる環境を構築します。

AWS SCTを利用したDB移行でハマった箇所と対処方法

これはなに? TeradataからRedshiftへの移行検証をしている際にSCTを利用したのですが、いくつかハマったところがあったのでその対象方法についての備忘録です。 検証の際に利用したAWS公式手順は以下です。 オンプレミスのデータウェアハウスから Amazon Re…

AthenaでクロスアカウントのGlue データカタログを参照する

これはなに? Athenaを利用して別AWSアカウントにあるGlueデータカタログの参照を実施してみます。 通常別AWSアカウントのデータカタログはAthenaで利用できないのですが、2019年にリリースされたAthenaでの外部メタストアの参照機能を利用することで実現で…

AWS SNS Eメール通知のUnsubscribeリンクを無効化する

これはなに? AWS SNSを使ったEmail通知のUnsubscribeリンクを無効にする手順。 AWSのシステム通知をAWS SNSを利用してEメール通知することがよくあると思うのですが、メール内に記載されているUnsubscribeを間違えてクリックしてしまい、メール通知が無効化…

NATインスタンスをAmazonLinux2で構築する

これはなに? AmazonLinuxのサポートが2020年12月31日で終了するため、これまでAmazonLinuxでAWSより提供されていたNATインスタンスをAmazonLinux2で構築してみました。 Amazon Linux AMI のサポート期間終了に関する更新情報 | Amazon Web Services ブログ

Databricks上のテーブル列にコメントを入れる

これはなに? Databricks上に作成したテーブルの列にコメントを入れる方法を調べたので備忘録。

PowerBIデスクトップからDatabricksに接続して分析する

これはなに? PowerBIデスクトップから、Databricks上のテーブルに接続し可視化する手順を記載します。 流れとしては、Databricks上でアクセス情報及びクレデンシャルを取得し、その情報を基にPowerBIデスクトップから接続、可視化を実施します。

データ分析でDatabricksを利用してみた所感

これはなに? Databricksをデータ分析で利用してみたので、備忘録のため所感をまとめてみました。 利用したのはAzure Databricksですが、AWSなど他のプラットフォーム上のDatabricksでも機能的に大きな違いはないと思います。

Databricks(Spark)でXMLファイルを読み込む

これはなに? DatabricksでXMLをソースとしてデータ分析するために、DatabricksでXMLを読み込むための手順。 Sparkのライブラリインストールから、XMLファイルをSparkのデータフレームに格納するところまで。

Splunkで1日のインデックスごとのログ流量を集計する

これはなに? インデックスごとのログ流量を確認するためのTips。 Splunkのライセンス利用料は、基本的に1日の取り込んだログの流量に依存するため、1日辺りのログ流量の情報が重要になってきます。

Splunkでログ分析する際に参考になるリンク集

これはなに? Splunkを利用してログを分析した際に、参考になるサイトが結構あったので、そのリンク集です。 適宜追記していこうと思っています。

S3の特定パス配下にファイルが配置されたことを検知して、Amazon EventBridge(CloudwatchEvents)を実行する

これはなに? S3の特定のパス配下にファイルが配置されたことを検知して、Amazon EventBridge(CloudwatchEvents)を実行するための設定方法。 Amazon EventBridgeからLambdaやCodePipelineを呼べるので、様々の処理のトリガーとして使えます。 Amazon EventBr…

コンテナを使って、JupyterNotebook + PySparkの開発環境を構築する

これはなに? JupyterNotebook + PySparkの開発環境をJupyterが提供しているコンテナイメージより構築する。 開発環境はWindows。

Kinesis Data Firehose とSplunkを連携する際にハマったところ

これはなに? CloudWatchlogs上のログを、Kinesis Data Firehose経由で、Splunkに連携する検証をしていたところ思わぬところでハマったので、その内容について書きます。 Cloudwatchlogsのサブスクリプションの設定やKinesisの設定手順は、以下のチュートリ…

Glue Job実行時に発生する ”File already Exists” の原因を調査する

これはなに? Glue JobでデータフレームからファイルをS3に出力する際に度々おきる ”java.io.IOException: File already exists” の原因調査について、かなりまとまっている記事があったので日本語訳を載せます。 元記事 confusedcoders.com

Glueのデータカタログにカラムを追加した際に、Dynamicframeで認識しないときの対処方法

これはなに? Glueのデータカタログにカラムを追加した時に、Dynamicframeでカラムを認識できずにコケることがあったので、その対象方法と検証結果について書きました。

CodebuildでDiffを実行するとエラーとなる場合の対処方法

これはなに? CodebuildでDiffを実行する場合のTips。 Codebuildのタスクで、特に何も考えずDiffを実行したところ、CodeBuildがエラーでコケたので対処方法について調査しました。

ECSで実行しているコンテナに対して、実行時間タイムアウトを実装する

これはなに? ECSで実行しているコンテナに対して、Lambdaを使って実行時間タイムアウトの仕組みを実装します。 タスク定義にタイムアウトの項目があったので、それで実行時間タイムアウト指定できるかなと思ったのですが、依存関係のタイムアウトとコンテナ…

CodeBuildでソースプロバイダのブランチ名を取得する

これはなに? CodeBuild内でソースプロバイダのブランチ名を取得するTips。 CodeBuildを利用して、DockerFileよりDockerコンテナを作成する際に、ビルドするソースのブランチによって挙動を変えたくて調査しました。 ソースプロバイダは、CodeCommmit。

AWS AthenaでS3上のCSVファイルより、テーブルを作成するときにヘッダー行をスキップする方法

Athenaを利用して、S3のCSVファイルを読み込むときにヘッター行をスキップするTips