はじめに
Alteryxで、色々なデータソースとつないでみています。
今回はAWSのAmazon Auroraと接続してみました。
Alteryx上ではAuroraは他データソースと別扱いになっていますが、前回のRDSと変わらない使用感でした。
Amazon Aurora
環境構築
VPC
前回のRDSと同じものを使います。
作成
標準作成を選択。
MySQLのAuroraを選択。
お試し用なので、開発/テストを選択。
前回作ったVPCとサブネット、セキュリティグループを指定します。
作成されたデータベースのエンドポイントのうち、ライターインスタンスを使います。
ODBC設定
前回インストールしたMySQLのドライバーで設定できます。
セキュリティグループ修正
CloudShellから操作したいので、CloudShellのIPを調べて、セキュリティグループのインバウンドルールに設定します。以下のページを参考にしました。
$ curl https://ifconfig.io
上記コマンドで表示されたIPを、使用しているセキュリティグループのインバウンドルールに追加します。
設定できれば、CloudShellから以下のコマンドで入れます。
$ mysql \
-h <ライターインスタンスのエンドポイントを指定> \
-P 3306 \
-u admin -p
Enter password:
CREATE TABLE
以下コマンドで、テーブル・初期データを作ります。
use alteryx;
CREATE TABLE alteryx.hoshiiro2_cast
(
`話数` varchar(100)
,`パート` varchar(100)
,`ポプ子` varchar(100)
,`ピピ美` varchar(100)
) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci
;
INSERT INTO alteryx.hoshiiro2_cast VALUES
('第1話','前半','平野綾','茅原実里'),
('第1話','後半','井上和彦','堀川りょう'),
('第2話','前半','朴璐美','釘宮理恵'),
('第2話','後半','檜山修之','森川智之'),
('第3話','前半','大谷育江','犬山イヌコ'),
('第3話','後半','榎木淳弥','内田雄馬')
;
select * from alteryx.hoshiiro2_cast
;
入力
Alteryxでデータ入力ツールをドロップし、データ接続-データソースに、Amazon Aurora
を指定します。
表示されるビジュアルクエリエディタ等で、クエリを指定します。
データソースでAmazon Aurora
として独立した設定に見えますが、MySQLでの接続と同じもののようです。
出力
以下のCSVをAlteryxで取り込みます。
話数,パート,ポプ子,ピピ美
第4話,前半,潘めぐみ,伊瀬茉莉也
第4話,後半,石丸博也,水島裕
出力ツールをドロップし、データソースにAmazon Aurora
を選択します。
前回のMySQLの時と同様、出力オプションがいくつかあります。
「既存のものを付加する」から試してみます。
データが挿入されています。
select * from alteryx.hoshiiro2_cast;
+---------+-----------+--------------+-----------------+
| 話数 | パート | ポプ子 | ピピ美 |
+---------+-----------+--------------+-----------------+
| 第1話 | 前半 | 平野綾 | 茅原実里 |
| 第1話 | 後半 | 井上和彦 | 堀川りょう |
| 第2話 | 前半 | 朴璐美 | 釘宮理恵 |
| 第2話 | 後半 | 檜山修之 | 森川智之 |
| 第3話 | 前半 | 大谷育江 | 犬山イヌコ |
| 第3話 | 後半 | 榎木淳弥 | 内田雄馬 |
| 第4話 | 前半 | 潘めぐみ | 伊瀬茉莉也 |
| 第4話 | 後半 | 石丸博也 | 水島裕 |
+---------+-----------+--------------+-----------------+
8 rows in set (0.00 sec)
次に、出力オプションを「データを削除して付加する」で実行しました。
前回と同様、既に入っていたものは無くなって、取り込みデータが入りました。
select * from alteryx.hoshiiro2_cast;
+---------+-----------+--------------+-----------------+
| 話数 | パート | ポプ子 | ピピ美 |
+---------+-----------+--------------+-----------------+
| 第4話 | 前半 | 潘めぐみ | 伊瀬茉莉也 |
| 第4話 | 後半 | 石丸博也 | 水島裕 |
+---------+-----------+--------------+-----------------+
2 rows in set (0.00 sec)
「テーブルを上書きする(ドロップ)」も前回と同様、テーブル定義が変わっています。
MySQL [alteryx]> select * from alteryx.hoshiiro2_cast;
+---------+-----------+--------------+-----------------+
| 話数 | パート | ポプ子 | ピピ美 |
+---------+-----------+--------------+-----------------+
| 第4話 | 前半 | 潘めぐみ | 伊瀬茉莉也 |
| 第4話 | 後半 | 石丸博也 | 水島裕 |
+---------+-----------+--------------+-----------------+
2 rows in set (0.00 sec)
MySQL [alteryx]> show create table hoshiiro2_cast;
+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| hoshiiro2_cast | CREATE TABLE `hoshiiro2_cast` (
`話数` varchar(254) CHARACTER SET utf8 DEFAULT NULL,
`パート` varchar(254) CHARACTER SET utf8 DEFAULT NULL,
`ポプ子` varchar(254) CHARACTER SET utf8 DEFAULT NULL,
`ピピ美` varchar(254) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 |
+----------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
「新しいテーブルを作成する」も、結果は既にテーブルが存在するため、同様にエラーになりました。
おわりに
今回はAlteryxとAmazon Auroraをつないでみました。
Alteryx上でデータソースを指定する際、MySQLと別になっていたのですが、使用してみると変わらない印象でした。
AuroraでもMySQLでも、Alteryxからは意識せず使えるようなので、この点で選択肢が狭まることはなさそうです。