ブログ

AWSとPower BIを接続する方法!ODBCコネクタとPostgreSQLコネクタの違いも紹介

#Power BI #AWS #ODBCコネクタ #PostgreSQLコネクタ

Power BIはExcelブックやXML、データベースなど、さまざまなデータを取得することができます。Power BIは覚えきれないほどのコネクタが準備されているので、一度も使用したことがないコネクタも多いのではないでしょうか。

今回はクラウドサービスで代表的なAWSに接続ができるPower BIのコネクタを使って、AWSからデータを取得する方法を解説します。
また、Power BIのコネクタでよく使う “ODBCコネクタ”と“PostgreSQLコネクタ”の違いも紹介します。

AWSとPowe BIを接続する方法

AWSコネクタとは?AWSコネクタの種類

Power BIで用意されているAWSサービスに接続するコネクタはAmazon Athena、Amazon Redshift、Amazon OpenSearch Serviceです。それぞれの特徴と使い分けについて説明します。

↓Power BI Desktop > データ取得でコネクタを確認します。3種類のコネクタが準備されています。

Athenaコネクタ

AthenaコネクタはS3上に保存されたデータに対してSQLクエリを実行できるAWSサービスで、クエリを実行した結果をPower BIに取り込むことができます。大量のログデータやテキストデータなど、構造化されていないデータに対して効果的な分析が可能です。

Amazon Redshiftコネクタ

Amazon Redshiftは、データウェアハウスサービスです。Redshiftコネクタを使用することで、Power BIからRedshiftに接続し、データを取得して分析することができます。大量のデータに対して高速で処理が可能なため、BIによる分析に適しています。

Amazon OpenSearch Serviceコネクタ

Amazon OpenSearch Serviceは、検索エンジンを簡単に構築できるサービスです。OpenSearch ServiceコネクタはOpenSearch Serviceで作成したインデックスに対して、Power BIからSQLクエリを実行することができます。ログデータやセキュリティログなど、大量の非構造化データを検索する場合に適しています。

それぞれのコネクタについて説明しましたが、実はAWSへの接続はコネクタからだけでなくREST APIでのデータ取得、Webデータコネクタでのデータ取得も可能です。様々なケースに合わせた使い分けが必要ですよね。

AWSとPower BIを接続する

それではPower BIを使ってAWSに接続し、データを取得してみましょう。

今回はAmazon Athenaコネクタを使用し、AWSのS3のCSVデータを取得します。
↓ナビゲーターから以下のようにAWSのS3のCSVファイルのデータが読み込めることを確認します。

手順はAWSの準備>Athenaでデータテーブルを作成>Power BIからAthenaのデータを取得する、となります。

AWS準備

今回はAWSのS3とIAM、Athenaを使用します。AWSのサインアップがまだの方はアカウントの作成から対応ください。
まずはAWSのアカウント作成>S3にCSVファイルを保存する>IAMでS3とAthenaのフルアクセス設定とアクセスキーを取得する、の順で解説します。なお、各手順についてはAWSの公式サイトにて詳細なフローを解説していただいておりますので、こちらでの解説は一部、割愛させていただきます。

以下の順でAWSの準備を進めます。
アカウントを作成するhttps://aws.amazon.com/jp/register-flow/
↑リンク先からAWSにサインアップしてください。

S3にCSVファイルを保存するhttps://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/create-bucket-overview.html
↑リンク先の“S3コンソールの使用”からCSVファイルを保存するバケットを作成してください。バケットを作成後、CSVファイルを保存し、保存したCSVファイルのオブジェクトの概要を確認してください。以降の手順で使用します。

↓以下のリンク先にS3について細かい説明が記載されています。ご参考ください。
※S3とは:https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/userguide/Welcome.html

IAMでS3とAthenaを許可ポリシーに追加し、アクセスキーを取得する
↓IAMでS3とAthenaを許可ポリシーに追加します。

↓アクセスキーを取得します。アクセスキーの作成はこちらのリンクをご確認ください。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_access-keys.html

Athenaでデータテーブルを作成する

↓まずはAthenaを起動し、クエリエディタを開きます。

↓クエリエディタからテーブルを作成します。エディタのタブから、データベースをdefaultにします。クエリに赤枠のSQL文を入力し、実行します。

↓SQL文は以下の通りです。LOCATIONはCSVファイルの保存場所をインプットしてください。

CREATE EXTERNAL TABLE IF NOT EXISTS test(
`name` String,
`age` Float
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’
ESCAPED BY ‘\\’
LINES TERMINATED BY ‘\n’
LOCATION ‘ s3://“CSVファイルの保存場所 ‘
TBLPROPERTIES (“skip.header.line.count”=”1”)

※SQL文はデータテーブル(test)のカラム(列)nameとageを定義しています。LOCATIONに保存されているCSVデータからTBLPROPERTIESでCSVデータの一行目(name,age)を削除し、データテーブルにインプットしています。

↓作成したデータテーブル(test)を見てみましょう。SELECT * from test を実行してください。

↓CSVのデータ通りにデータテーブルが作成できていることが確認できます。Athenaでのデータテーブル作成は以上です。

Power BIからAthenaのデータを取得する

Power BIからAthenaのデータを取得する手順はODBCドライバを取得し、ODBCドライバを設定>Power BIのAmazon Athenaコネクタを使用しデータを取得する、となります。

まずはODBCドライバを取得し、ODBCドライバを設定します。
↓ODBCドライバを取得します。環境に合ったドライバをダウンロードし、インストールしてください。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/connect-with-odbc.html

↓ODBCデータソースを起動し、ODBCドライバの設定をします。

↓ODBCデータソースを起動し“追加”をクリックします、データソースの新規作成からインストールした“Simba Athena ODBC Driver”を選択します。

↓Simba Athena ODBC Driverのセットアップをします。赤枠部は入力が必要です。Authentication Options…をクリックします。

        

※AWSから参照する項目は以下の通りです。
↓AWS RegionとS3 output Locationは“AWS準備”で作成したS3の情報を入力します。

↓Authentication Options:User、Passwordは”AWS準備”で作成したIAMのアクセスキーを入力します。

↓入力後、接続テストをします、“test”をクリックし、接続が成功していることを確認します。

Power BIのAmazon Athenaコネクタを使用しデータを取得します。
↓Power BI Desktopを起動し、データを取得から、”Amazon Athena”を選択します。

↓Amazon Athenaの設定をします。“DSN”にODBCデータソースでセットアップしたDSNを入力し、“OK”をクリックします。

↓User Data Source Configurationを選択し、接続します。

↓ナビゲーターからAthenaで作成したデータテーブルが取得できていることが確認できます。

Power BIのAmazon Athenaコネクタを使用し、AWSのS3のCSVデータを取得する方法を解説しました。

“ODBCコネクタ”と“PostgreSQLコネクタ”の違い


Power BIのAmazon Athenaコネクタを使用し、データを取得するケースではODBCコネクタを使用しました。他にもPostgreSQLコネクタがございます。それぞれについて解説します。

ODBCコネクタとは

ODBCコネクタとは、Open Database Connectivityの略で、さまざまなデータベースシステムにアクセスするためのAPIの一つです。ODBCドライバは、ODBC APIを使用してアプリケーションとデータベースを接続するために使用されます。ODBCは、WindowsやUnixなどのさまざまなプラットフォームで使用できます。
なお、Power BIのODBCコネクタの使い方については、Microsoftの公式サイトに詳しい情報が掲載されています。
https://learn.microsoft.com/ja-jp/power-query/connectors/odbc

PostgreSQLコネクタとは

一方、PostgreSQLコネクタは、PostgreSQLデータベースに接続するためのコネクタです。PostgreSQLコネクタを使用すると、PostgreSQLデータベースを管理するために必要なさまざまな操作を実行できます。PostgreSQLコネクタは、PostgreSQLのために開発された専用のソフトウェアであり、ODBCコネクタよりも高速で処理が可能です。

ODBCコネクタとPostgreSQLコネクタの使い分けは?

データの種類:ODBCコネクタは、Power BIに対してさまざまなデータソースに接続することができます。一方、PostgreSQLコネクタは、PostgreSQLデータベースにのみ接続することができます。そのため、接続するデータの種類によって、どちらのコネクタを使用するかが変わります。

接続速度とパフォーマンス:ODBCコネクタは、データの取得速度がPostgreSQLコネクタよりも遅い傾向があります。ただし、ODBCコネクタは、様々なデータソースに接続できるため、接続するデータの種類によっては、ODBCコネクタの方が高速に動作する場合もあります。一方、PostgreSQLコネクタは、PostgreSQLデータベースに最適化されており、高速に動作します。

使用するデバイスの種類:ODBCコネクタは、WindowsやMacなど、さまざまなデバイスに対応しています。一方、PostgreSQLコネクタは、WindowsやLinuxなどの特定のデバイスに対応しています。そのため、使用するデバイスの種類によって、どちらのコネクタを使用するかが変わります。

拡張性:ODBCコネクタは、多数のデータソースに接続できるため、拡張性が高いです。一方、PostgreSQLコネクタは、PostgreSQLデータベースに特化しており、拡張性は限られています。

まとめ

  • Power BIで用意されているAWSサービスに接続するコネクタはAmazon Athena、Amazon Redshift、Amazon OpenSearch Serviceの3種類。
  • Power BIのAmazon Athenaコネクタを使用したデータ取得の手順は、AWSの準備>Athenaでデータテーブルを作成>Power BIからAthenaのデータを取得。
  • ODBCコネクタ”と“PostgreSQLコネクタ”はケースバイケースで使い分け必要。

<Power BIハンズオンセミナー>
弊社ではPower BIをはじめとするさまざまな無料オンラインセミナーを実施しています!
>>セミナー一覧はこちら

<Power BIの導入支援>
弊社ではPower BIの導入支援を行っています。ぜひお気軽にお問い合わせください。
>>Power BIの導入支援の詳細はこちら

<PowerBIの入門書を発売中!>
弊社ではPower BIの導入から基本的な使い方・活用方法の基礎などをわかりやすく解説した書籍も販売しています。
>>目次も公開中!書籍の詳細はこちら

CONTACT
お問い合わせ

ご相談やご依頼、病院マスタなどについてのお問い合わせはこちらのお問い合わせフォームから。

サービスなどについてのお問い合わせ 病院マスタについてのお問い合わせ

メールお問い合わせ