かける!記憶の中最初からを本にして窓辺で読みたい。2021.03.01こんにちは。かける!のざわ(@zw_kakeru)です。Glue連携までの手順を確認していこうと思います。Glueは、Amazon社が提供している「データインテグレーションサービス」です。データに関する様々な処理を行うことを指します。データウェアハウス(DWH)やDBには、基本的に表(テーブル)形式でデータが保存されています。この表形式というのは、データの保存や検索、抽出には適していますが、抽出後にシステムやクライアント端末でそのまま使用することはできません。システムやクライアント端末に送る前にテキスト(json、csvなど)形式などに変換する必要があります。このような変換を行ってくれるシステムがデータインテグレーションサービスであり、中でもAWSが提供しているサービスの名称がGlueです。データインテグレーションサービスは実際には変換だけではなく、前述したような一般的なデータ処理全般を取り扱うことができるようになっています。Glueでは、可視化インターフェースとコードベースのインターフェースの両方を備えており、システムにあまり詳しくない人は可視化インターフェースで、システムに詳しく細かい処理まで対応させたい人はコードベースのインターフェースを使うことができます。Glueは当然ながら他のAWSサービスとの親和性も高く、低コスト高セキュリティを維持しつつRedShiftやS3などとの連携をスムーズに行えます。世界的なシェアも高く、公式、非公式ともにドキュメントも充実しています。今回はそんなGlueを試しに動かしつつ、前回の記事で作成したRedShiftテーブルとの連携までを行ってみようと思います。実際に動かしてみたAWSマネジメントコンソールからログイン前回同様AWSマネジメントコンソールを開き、「コンソールにサインイン」しましょう。アカウントID、ユーザー名、パスワードを入力してログイン完了です。検索窓から「Glue」を選択して開きます。接続設定の作成まず、RedShiftテーブルと連携するための「接続」設定を行います。データベースの「接続」から「接続の追加」をします。接続名と接続タイプを選択します。接続タイプ:接続の名前。分かりやすいものが望ましいと言えます。接続タイプ:プルダウンから選択。使用するサービスに応じて変わります。Connectivity)を選択します。アクセス情報の設定をします。入力事項を確認して、「完了」しましょう。これで接続が追加されました。続いて、出力先となるデータベースの追加を行います。RedShiftのDBからデータを取ってきてもそれらをどこに保持しておくのかという問題が発生するため、Glue内でDBを作成しておきそこに格納していきます。「結局GlueでもDBで持っとくんかい!」と思うかもしれませんが、複雑な処理系ではここからさらに別のDBから取ってきたデータの追加や統合、削除などを行うため、この機構は必要なのです。「データベース」から「データベースの追加」を選択します。データベース名を入力し、「作成」してください。これによってデータベースが追加されました。前述の章で、GlueからRedShiftへのアクセス(接続)ができるようになりました。実際にはクローラを介してRedShift内のデータベースのデータを取得します。「クローラ」から「クローラの追加」をします。(ちなみに)クローラとはDB上を巡回して、必要となるデータを取得(クロール)してくるプログラムのことを指します。クロールは本来、GoogleやBingなどの検索エンジンがインターネット上を巡回してWebサイトの情報を取得し検索結果に反映させることを指す言葉ですが、ここではDBに対してそれを行うことを表しています。前章で接続を確保してから実際にクローラがデータを取得してくる、という流れになっていますね。クローラ名を入力します。必要であればタグや説明も記述してください。続いてソースタイプを選択します。Catalog)の既存テーブルからクロールするかどうかの設定です。stores」を選択します。stores」はS3からクロールする際に、再クロール時に前回の差分だけを取ってくるかどうかの設定です。今回はS3ではなくRedShiftからのクロールなためどちらを選択しても影響はないと思います。folders」としておきます。(ちなみになぜかここの設定だけ英語表記でした。サービス提供が追いついてない感じがしますね。)データストアを選択します。stores」を選択したため、じゃあどこからデータ取ってくるねんって聞かれてるわけですね。RedShiftなので、先程作成した「接続」を選択します。追記:インクルードパスは「%」ではなく「dev」を指定してください。(前回作成したテーブル名を「dev」としたため。)IAMロールの設定を行います。RedShift接続に必要な権限を持ったロールを(場合によっては作成して)選択してください。(ちなみに)IAMロールとは。Role」の略で、他のAWSサービスの操作権限を割り当てる仕組みです。今回はRedShiftにアクセスしたいので、RedShiftへのアクセス権限を持ったIAMロールが必要となります。スケジュールの設定を行います。スケジュールはこのクローラをいつ実行するのか、という設定で、月一とか週一とか細かく決めることができますが、ここでは「オンデマンド」(実行ボタンを押した時)としておきます。クローラの出力設定を行います。データベースに、先程作成したものを選択し、次へ進みます。任意の設定オプションの項目がありますが、基本的にデフォルトのままで構いません。入力事項を確認して、「完了」してください。これでクローラが追加されます。作成したクローラを選択し、「クローラを実行」しましょう。問題なければ「成功」となります。ちなみに、RedShiftからデータをクロールしてくるので、当然ながらRedShiftの該当クラスターは起動(Available)状態でなければなりませんよ。(私は一回これでハマりました...笑)終わりに今回はRedShiftからデータを取得するためのもろもろの設定を行いました。接続するための設定や出力先の作成などが細かい部分もありますが、ジョブを一つ作成してそこに全てを突っ込むよりは、これくらいの粒度で進んでいく方が後々使いまわしができて良いのかもしれないなあと思いました。Studioを使って、取得したデータをGUIの直感的な操作で加工していく様子を公開していきます。Glue連携のやり方(後編)こんにちは。かける!のざわ(@zw_kakeru)です。前回の記事の続き(後編)となっております。前編を書いてから2ヶ月以上経ってしまいました。Studioを使ってRedshiftからデ...zw-kakeru.com2021.05.20今回は以上です。技術DisitalHackDay2021に参加してきました!こんにちは。かける!のざわ(@zw_kakeru)です。Glue連携のやり方(後編)こんにちは。かける!のざわ(@zw_kakeru)です。前回の記事の続き(後編)となっております。前編を書いてから2ヶ月以上経ってしまいました。【ServiceNow】ServicePortalとServiceCatalogのチュートリアル(後編)こんにちは。かける!のざわ(@zw_kakeru)です。ServiceNowが提供する様々な機能の中で、ServicePortalとServiceCatalogを使ってトライアル実装をしてみようと思います。【C言語】ポインタの書き方(*の位置と意味)こんにちは。かける!のざわ(@zw_kakeru)です。C系の言語で使われるポインタについて解説します。この手の記事は山のようにあるので、私は実際の記述方法について現場レベルで整理してみます。インターネット/無線LAN/Wi-Fi/に繋がらない場合の対処法こんにちは。かける!のざわ(@zw_kakeru)です。スマホが突然家のネットワークが繋がらなくなってしまいました。【Chrome】自動入力パスワードの中身をその場で確認するこんにちは。かける!のざわ(@zw_kakeru)です。今回はChromeブラウザを使っているときに、自動入力されるパスワードの中身を確認する方法について記述します。コメントをキャンセルメールアドレスが公開されることはありません。※サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。スポンサーリンクタイトルとURLをコピーしました。