2019-01-01から1年間の記事一覧
この記事の続きです。 yomon.hatenablog.com 以下にもある通り、今書いている時点ではApache BeamのPython SDKはビルトインでJDBC対応していません。 beam.apache.org PythonでJDBCドライバ使いたかったのはDataflowのPython SDK使ってもJDBC接続使いたかっ…
利用するモジュール SQL Server用のJDBC Driverダウンロード Pythonコード 既知のエラー 関連 利用するモジュール JDBCを使うためにこちらのモジュールを利用します。 github.com $ pip install JayDeBeApi SQL Server用のJDBC Driverダウンロード SQL Serve…
Cloud Dataflow + Python で作るテンプレートを登録する際に、pipでインストール可能なPyPiなどの外部パッケージをどうやって組み込むか調べました。 requirements.txtでpypi等の外部パッケージ使う方法 設定例 テンプレート作成 setup.pyでローカルパッケー…
Cloud Composer(Airflow)からDataflowTemplateOperatorの使い方がわからなかったので調べました。 Dataflowテンプレート登録 コード作成 コンパイル+アップロード Cloud ComposerのDAG作成 DAG定義スクリプト作成 AirflowのVariables設定 DAGファイルのイン…
Amazon Elasticsearch Service(以下、AES)にJDBC接続する方法です。 AESのSQL機能 AESのSQL機能はOpen Distro for ElasticsearchというAWS主導のプロジェクトで開発されています。 github.com この辺りは、AESのSQLのエンドポイントやプラグイン名にも表れ…
タイトルの通りです。PandasのDataframeをpyarrowでParquetに変換して、そのままGCSにアップロードしています。 スクリプト こんな形で実行可能です。ファイルを経由しないでBufferから、そのままアップロードしています。 import pandas as pd import pyarr…
parquet-toolsをビルドするの面倒なので、Dockerで実行する方法。 parquet-tools Parquetの中身見るためのCLIです。 https://github.com/apache/parquet-mr/tree/master/parquet-tools Dockerでの実行方法 こちらのイメージ使わせてもらいます。Dockerfile見…
タイトルの通り、Pandas使ったちょっとしたテストで「それなりに」大きなDataframeを作りたい場合の例です。 import pandas as pd import numpy as np import datetime row_num = 10000000 string_values = ['Python', 'Ruby', 'Java', 'JavaScript', 'PHP',…
Azure Table StorageのデータをCloud Dataflow (Apache Beam)から扱ってみたのでメモ。 対象のAzure Table Storage 対象としたTable Storageの中身です。mytable という名前にしました。このデータをDataflowを使ってBigQueryに挿入してみます。 準備 デー…
BeeX Advent Calendar 2019の12/6の記事です。空いてたので滑り込みです。 Azure Table Storageですが、対応しているツールも少なく、なかなか扱いずらいので、Pandasに読み込んで、Parquet形式に変更する方法を調べました。 対象 対象としたTable Storageの…
VPC Service Controlsを利用してBigQuery APIへの接続にIP制限かけてみたのですが、BigQueryのフロントとして利用しているGoogle Data PortalもIP制限かけて利用したいと思いやってみました。 結論 Access Context Managerでアクセスレベルを定義 VPC Servic…
AirflowにはAzureのパッケージが存在しています。 pip install 'apache-airflow[azure]' その辺りを使って、Azure Blob Storageへオブジェクトがアップロードしたことを検知して、ワークフローを流したいと思いました。 モジュールとしては以下のモジュール…
Google Cloud FunctionsをServerless Frameworkでデプロイできる環境を作りたい場合、以下の公式ドキュメントに手法が載っています。 Serverless - Google Cloud Functions Documentation ただ、特に権限周りでGUIでの操作が面倒なので、CLI操作に変換して書…
Cloud IAP(Identity-Aware Proxy)を使うと所謂Bastion(踏み台)インスタンスを構築せずとも、GCPに安全に接続できる構成が作れます。そこにGlobal IP制限も加えられるか設定してみました。 cloud.google.com 前提 [組織作業] グローバルIP制限用のアクセスレ…
発端から。先日、Windowsをアップデートしてwsl2を使い始めているのですが、いつも通りgcloudでsshログオンしようとしたら下記のエラーが発生しましたので、ついでにログオンの仕組みを少し調べてみました。 # gcloud compute ssh my-instance root@XX.XX.XX…
S3はのサーバのアクセスログを取得することが可能です。 通情、このログを分析するなら、Athenaが便利です。公式にもわかりやすい手順が出ています。 Athena を使用したアクセスログの分析 ただ、色々な制約でAthenaが使えない、Pandasも使えない、ましてやD…
私はSNSはやっていないので、このはてなブログだけでアウトプットしています。 そんな中でもQiitaは、アカウントだけは持っていたのですが、有名(?)なガイドラインが怖くて記事を書けずにいました。 でも、Qiitaに記事書くとアクセス数凄いって聞くし、どん…
これを読みました。 分散システムデザインパターン ~コンテナを使ったスケーラブルなサービスの設計~ 分散システムデザインパターン ―コンテナを使ったスケーラブルなサービスの設計作者: Brendan Burns,松浦隼人出版社/メーカー: オライリージャパン発売…
Amazon Elasticsearch Service (AES) で手動スナップショット取得の仕組みをCloudformationで一気にデプロイします。かつCurator使って古いスナップショットは自動的に削除する設定になっています。スナップショット取るだけで意外に大変です。 Pythonスクリ…
Amazon Elasticsearch Serviceクラスタ構成を検討したので、そのメモを残しておきます。 ※Elasticsearch Serviceの インスタンス ですが、資料によっては ノード と表記されています。この記事ではManagement Consoleの表記に合わせて インスタンス に統一し…
fluent-plugin-aws-elasticsearch-serviceでIAM権限でAmazon Elasticsearch Service繋ごうと思うのですが、IAM権限やアクセスポリシー変更しながらの疎通テストをしたいと思い。簡単に疎通テスト用の手順書きました。 github.com Amazon Linux2にログオン td…
Azure Solutions Architect Expertを取得してきました。 試験 前提試験 AZ-300 と AZ-301 Azure Solutions Architect Expertの認定には、以下の2試験の合格が必要です。 AZ-300:Microsoft Azure Architect Technologies AZ-301:Microsoft Azure Architect D…
Gem in a Boxを使って、Dockerでローカル環境にRubyGemsを構築して、Gemをアップロードするところまで書きます。 github.com Gem in a Boxは公式でも以下の RUNNING GEM IN A BOX の項目で紹介されてます。 Run your own gem server - RubyGems Guides 作業…
GCP Cloud Composerの動きを一通り確認するために以下のAirflow向けのを参考にワークフロー作成しました。内容をシンプルにするためいくらか修正しています。 cloud.google.com やること Cloud Composer作成 BigQueryデータセット・テーブル作成 AirflowのDA…
このブログ始めた頃(4~5年前)は、主に仕事ではAzureを使っていたのですが、暫くご無沙汰でした。 最近だと去年ChatBot作るため、Azure Bot Serviceを使いたくてAzure使っていたくらい。 最近マルチクラウドの案件が増えてきたため、AWSとGCPに合わせてAzur…
一昨日思い立って、スケジュールにらめっこしたところ、昨日しか空いてないので、会社の近くのテストセンターで取得してきまいた。 まだ日本語提供されてない英語試験です。GCPの英語試験の注意点はこちらで書いた内容と同じです。 yomon.hatenablog.com 試…
GCPからAzureにサイト間VPNを接続した手順です。 以下にあるように、2019/10/18時点では、GCPとAzureのBGP接続はサポートされていないようなので、ルートベースのVPNを設定手順です。 VPN interoperability guides | Cloud VPN | Google Cloud 全体像 このフ…
こちらのリリースにあるようにAthenaにVPCエンドポイント経由で接続できるようになりました。これで、プライベートなサブネットからもJDBC接続できるようになりました! aws.amazon.com 試してみる 早速、前に記事書いたこちらのDockerイメージでテストして…
Glue使っているとSecurity Groupに自己参照の設定をしなければいけない時があります。 AWS Glue がコンポーネントと通信できるようにするには、すべての TCP ポートに対して自己参照のインバウンドルールを持つセキュリティグループを指定します。 https://d…
Google Cloud Certified Professional Cloud Security Engineerを取得してきました。 試験準備 まだ日本語提供がされていない試験なので、英語での受験となります。 言語が違うだけなのですが、手続き関係で試験と関係無いところで詰まりどころがいくつかあ…