29回勉強会資料「PostgreSQLのリカバリ超入門」
See also http://www.interdb.jp/pgsql (Coming soon!)
初心者向け。PostgreSQLのWAL、CHECKPOINT、 オンラインバックアップの仕組み解説。
これを見たら、次は→ http://www.slideshare.net/satock/29shikumi-backup
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
Preferred Networksでは新物質開発や材料探索を加速する汎用原子レベルシミュレータを利用できるクラウドサービスを開発しています。 顧客毎に独立した環境にユーザがJupyter Notebookを立ち上げ、自社PyPIパッケージによりAPI経由で弊社独自技術を簡単に利用できます。Kubernetesの機能を駆使してマルチテナント環境を構築しており、各顧客に独立したAPIサーバを提供し、その負荷状況によりAPIサーバをスケーリングさせたり、顧客毎にNotebookに対する通信制限や配置Nodeの制御などを実現しています。
本発表ではKubernetesによるマルチテナントJupyter as a Serviceの実現方法を紹介します。
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用Motonori Shindo
Cluster API は Kubernetes の宣言的APIとリソースの管理機能を活かし、Kubernetes環境のライフサイクル管理を行うもので、Kubernetesコミュニティで仕様の策定と開発が進められています。
これまでもKubernetes環境の構築を支援するツールはいくつかありましたが、Cluster APIはコミュニティからの大きな支持を得ており、Cluster APIのエコシステムが広がりつつあります。
本セッションでは Cluster API の概要と最新の動向、また、Cluster APIを利用した大規模マルチクラウド環境への適用などをデモを交えながら解説を行います。
本資料はCloud Operator Days Tokyo 2020登壇時の資料です。
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
Japan SQL Server Users Group - 第35回 SQL Server 2019勉強会 - Azure Synapese Analytics - SQL Pool 入門 のセッション資料です。
Spark の位置づけ。Synapse の中での入門編の使い方。そして、Synapse ならではの価値について触れてます。
29回勉強会資料「PostgreSQLのリカバリ超入門」
See also http://www.interdb.jp/pgsql (Coming soon!)
初心者向け。PostgreSQLのWAL、CHECKPOINT、 オンラインバックアップの仕組み解説。
これを見たら、次は→ http://www.slideshare.net/satock/29shikumi-backup
ゼロから作るKubernetesによるJupyter as a Service ー Kubernetes Meetup Tokyo #43Preferred Networks
Preferred Networksでは新物質開発や材料探索を加速する汎用原子レベルシミュレータを利用できるクラウドサービスを開発しています。 顧客毎に独立した環境にユーザがJupyter Notebookを立ち上げ、自社PyPIパッケージによりAPI経由で弊社独自技術を簡単に利用できます。Kubernetesの機能を駆使してマルチテナント環境を構築しており、各顧客に独立したAPIサーバを提供し、その負荷状況によりAPIサーバをスケーリングさせたり、顧客毎にNotebookに対する通信制限や配置Nodeの制御などを実現しています。
本発表ではKubernetesによるマルチテナントJupyter as a Serviceの実現方法を紹介します。
Cluster API によるKubernetes環境のライフサイクル管理とマルチクラウド環境での適用Motonori Shindo
Cluster API は Kubernetes の宣言的APIとリソースの管理機能を活かし、Kubernetes環境のライフサイクル管理を行うもので、Kubernetesコミュニティで仕様の策定と開発が進められています。
これまでもKubernetes環境の構築を支援するツールはいくつかありましたが、Cluster APIはコミュニティからの大きな支持を得ており、Cluster APIのエコシステムが広がりつつあります。
本セッションでは Cluster API の概要と最新の動向、また、Cluster APIを利用した大規模マルチクラウド環境への適用などをデモを交えながら解説を行います。
本資料はCloud Operator Days Tokyo 2020登壇時の資料です。
SQL Server 使いのための Azure Synapse Analytics - Spark 入門Daiyu Hatakeyama
Japan SQL Server Users Group - 第35回 SQL Server 2019勉強会 - Azure Synapese Analytics - SQL Pool 入門 のセッション資料です。
Spark の位置づけ。Synapse の中での入門編の使い方。そして、Synapse ならではの価値について触れてます。
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Similar to Hadoop Compatible File Systems (Azure編) (セミナー「Big Data Developerに贈る第二弾 ‐ Azure Data Factory、Data Stream 分析、Hadoop on Azure」講演資料、2019年11月22日開催)
B 8スポンサー講演資料 osnexus steven umbehocker (アファーム・ビジネスパートナーズ株)softlayerjp
Similar to Hadoop Compatible File Systems (Azure編) (セミナー「Big Data Developerに贈る第二弾 ‐ Azure Data Factory、Data Stream 分析、Hadoop on Azure」講演資料、2019年11月22日開催) (20)
AzureにはHDInsightというサービスがあります。
Hadoopなどの分散処理ミドルウェアが、すぐに利用可能な状態でセットアップされたVM群が起動してくるという、Hadoop as a serviceです。
AWSのAmazon EMRが、類似のサービスで有名なところです。
HDInsightの特徴的なところをあげると、割と新し目のHadoop 3系も使えるというところがあります。
また、defaultFSの設定値がAzureのデータストアに向いていて、HDFSはあまり使わない想定になっています。
一応サービスは上がっていて、明示的に指定すれば使えます。
HadoopのAPIでアクセスできるAzureのデータストアサービスは3種類あります。
Azure Blob Storageはシンプルにオブジェクトストレージです。
それに対してData Lake Storageの方はマネージドHDFS的なサービスに相当するイメージです。
さらにAzure Data Lake Storage Gen2というのがあって、前者2つの両方をカバーするみたいな位置付けになっています。
Blob Storageベースだけど、オプショナルにファイルシステム的な機能が利用できるもので、たぶん今から使うのであれば、これを選んでおけばよさそうな雰囲気です。
Data Lake StorageのGen1用の実装がAdlFileSystemです。
adl://というURIに対応しています。
Gen2が出たあとは、メンテされなくなってる印象です。
ユーザが増えて、フィードバックがくる前にGen2にが出ちゃったというか。
Azure Data Lake Storage Gen2向けの実装がAzureBlobFileSystemです。
abfs://というURIに対応するものです。
HTTPSだとabfss://です。
WASBだとblob.core.windows.netだったのがdfs.core.windows.netに変わってるという細かい違いがあります。
ストレージアカウント作成時に階層的名前空間という機能を有効化すると、ファイルシステム的なセマンティクスになるのが、特徴的なところです。
このモジュールはAzureのSDKを使うのではなく、直接REST APIのリクエストを組み立てて投げる作りになっています。
いまから使うならData Lake Storage Gen2なので、以降の話はこのABFSを前提とした内容になります。
AzureのBlog StorageやData Lake Storageのサービスを使う場合には、ストレージアカウントというリソースをまず作ります。
Hadoopの設定上、プロパティ名のsuffixとして".アカウント名.dfs.core.windows.net"をつけることで、ストレージアカウントごとに値を指定できるようになっています。
ストレージアカウント個別の設定がなかった場合には、suffixなしのプロパティ名にフォールバックするので、デフォルト値的に使うこともできます。
データストアにアクセスするときの認証はAzure Active Directoryの仕組みにもとづくもので、認証方法にいろいろ選択肢があります。
ここが一番わかりにくい部分かもしれません。
SharedKeyというのはストレージアカウントのアクセスキーを使うものです。
OAuthはOAuth 2.0のアクセストークンを使うものです。
トークンの取得方法にも、アプリケーションを登録してそのIDを使うか、AzureのVMのManaged Identityを使うかという選択肢があります。
また、認証ロジックを改造することもできます。
Data Lake Storage Gen2で特徴的なのが、階層型名前空間です。
これを使うためには、ストレージアカウントを作成するときに、有効化する必要があります。
有効化されていると、ファイルシステム的な機能が利用できるようになります。
各種クラウドデータストアを使う時に問題になりがちな、多数のディレクトリのリネームや削除が、高速でアトミックに実行できることになります。
HDFSに近いセマンティクスで使えて、Hadoopを利用したデータ処理を行うときには、特に有効だと思います。
ファイルシステムではファイルやディレクトリに、所有者と、rwxという読み書き実行のパーミッションが設定できます。
HadoopのAPIでクラウドのデータストアにアクセスする場合、これは利用できないことが多いのですが、階層型名前空間が有効化されていれば、Azureでは使うことができます。
アプリケーションのトークンを利用して認証した場合の例だと、ファイルのownerはapplicationのサービスプリンシパルのObject IDになっています。
パーミッション変更のコマンドを実行してデバッグログを見ると、REST APIのリクエストにx-ms-permissionsのようなヘッダーをつけて呼んでいます。
Data Lake Storage側の機能にシンプルにマッピングされているということがわかります。
もともとData Lake Storageがファイルシステム的な機能を提供してくれていて、クライアント側の実装で込み入ったことをあまりしなくて済んでいることもあって、ユーザが設定すべきチューニングノブは多くありません。
強いて言えば、エラー時のリトライ間隔や回数の上限、データを読み書きするときのバッファサイズがあります。
ABFSのドキュメントはHadoopのいわゆるコミュニティ版のドキュメントの中にあります。
比較的最近つくられたモジュールで、まだ変更も入るのですが、最新版はgithubのtrunkブランチで確認できます。
また、ABFSはData Lake Storage Gen2のREST APIをシンプルに利用しているものなので、トラブルシューティングなどでは、そのREST APIのドキュメントも参考になると思います。
HadoopのFileSystem APIの仕様は、開発者以外が目にする機会が少ないものではあるのですが、深く使いこなす上で、一度覗いてみると面白いかもしれません。
機能追加やバグ修正などはJIRAで管理されています。
Hadoopの場合、4つのサブプロジェクトに分けられているのですが、ABFSに関する内容はHadoop Commonと呼ばれるプロジェクト下にあります。
例えばこのHADOOP-15763というissueは、次のバージョンをターゲットにした内容をリストアップするもので、今後どんな機能追加がありそうかは、ここ見ると参考になると思います。
Data Lake Storage Gen2はサービス自体がリリースされたのも比較的最近なので、使ってみてバグなどに気づいたら、ぜひJIRAでissueを登録していただけるとよいです。