Alibaba Cloud DataWorks を利用した OSS からのデータ収集について(前編)

2023年3月10日掲載

キービジュアル

Alibaba Cloud DataWorks はビッグデータ収集、処理、分析のワンストップソリューションで、MaxCompute、Hologres、EMR、AnalyticDB、CDP など主流のコンピューティングエンジンに対応しています。DataWorks を利用する第一歩としては、他所で蓄積したソースデータをビッグデータストレージにインポートすることですので、今回は DataWorks を利用して OSS に保存しているソースデータを MaxCompute にインポートしてみたいと思います。

方法としては DataWorks の Data Integration 機能利用と自作コードによるインポート 2 つが考えられますので、前編と後編に分けて、前編に Data Integration 機能の利用方法、後編に自作コードによるインポート方法で、それぞれ同一 OSS からのデータインポート手順を紹介します。

DataWorks や MaxCompute を利用する事例は「【デモあり】Alibaba Cloudの最新技術で構築する リアルタイム分析をサポートしたDWH」という記事にも紹介されていますので、合わせてご参考ください。

目次

構成概要図

a

DataWorks の Data Integration 機能を利用して、OSS 上のソースデータを MaxCompute Table にインポートします。

検証手順-1:DataWorks 側の事前準備

1-1.検証用 DataWorks Workspace を作成します。 DataWorks のコンソールを開き、「Create Workspace」をクリックします。

1

1-2.任意の「Workspace Name」を入力し、「Commit」をクリックします。

1

1-3.お勧めのビッグデータエンジンが表示されます。今回のエンジンは MaxCompute にしますので、「MaxCompute」右側の「Associate Now」をクリックします。

a

1-4.下記内容を入力し、「Complete Association」をクリックします。

Resource Display Name:任意入力

Project Source:Create project

Payment Model:Pay by Volume

Quota Group:Pay-as-you-go Quota

Data Type:2.0 Data Type

Encrypted:No encryption

Project Name:任意入力

Scheduled Access Identity:Alibaba Cloud primary account

a

1-5.Workspace と MaxCompute インスタンス紐付け完了の画面が表示され、「Back」をクリックし、Workspace 一覧に戻ります。

1

1-6.MaxCompute 側でインポート先のテーブルを作成します。Workspace 一覧画面で、検証用 Workspace 右側の「Data Studio」をクリックします。

1

1-7.Data Studio コンソールで「MaxCompute ー Table ー Create Table」を順にクリックします。

a

1-8.任意の「Table Name」を入力し、「Create」をクリックします。

1-9.「Create Field」をクリックし、下記の 4 つフィールドを作成します。

m_name, STRING

m_age, STRING 

m_cardno, STRING

m_birthday, STRING

1-10.「Commit to Production Environment ー OK」をクリックし、テーブルを作成します。

1-11.左メニューの「Tenant Tables」から「手順1-10 で作成したテーブル」を特定し、「Preview」タブにて中身が空であることを確認します。

検証手順-2:OSS 側の事前準備

2-1.検証用 OSS バケットを作成します。下記内容を入力し、「OK」をクリックします。

Bucket Name:任意入力

Region:Tokyo

1

2-2.下記内容の CSV ファイルを作成し、手順2-1 で作成したバケットにアップロードします。

ファイル名:test.csv

Name,Age,CardNo,Birthday

Nancy,23,1,2000/1/1

Bob,22,2,2001/1/1

Mary,21,3,2002/1/1

Jack,20,4,2003/1/1

Smith,19,5,2004/1/1

 

2-3.Create a RAM userに沿って、RAM ユーザを作成します。

 

2-4.Grant permissions to the RAM userに沿って、手順2-3で作成した RAM ユーザに「AliyunOSSReadOnlyAccess」権限を付与します。

 

2-5.手順2-3 で作成した RAM ユーザの詳細情報にて、「Create Accesskey」をクリックし、AccessKey 情報を生成します。

注意:AccessKey Secret は 1 回のみ表示されます。

1

検証手順-3:Data Integration 機能を利用したデータインポート

3-1.Workspace 一覧画面にて、検証用 Workspace 右側の「Data Integration」をクリックします。

1

3-2.DataWorks に OSS へのアクセス権を付与します。「Create Data Source」をクリックします。

1

3-3. データソースタイプに「OSS」を選択します。

1

3-4.下記内容を入力し、「Complete」をクリックします。

Data Source Name:任意入力

Endpoint:http://oss-ap-northeast-1-internal.aliyuncs.com

Bucket:手順2-1 で作成したバケット

AccessKey ID:手順2-5 で作成した AccessKey ID

AccessKey Secret:手順2-5 で作成した AccessKey Secret

Access Mode:Access Key mode

1

3-5.Workspace 一覧画面にて、検証用 Workspace 右側の「DataStudio」をクリックします。

a

3-6.「Data Integration ー Create Node ー Batch Synchronization」を順にクリックし、Batch Synchronization ノードを作成します。

1

3-7.任意の「Name」を入力し、「Confirm」をクリックします。

a

3-8.Batch Synchronization ノードにて、データソースの設定を行います。下記のように入力し、「Preview」をクリックします。

Connection:手順3-4 で作成した Data Source

File Type:CSV

Object Name (Path Included):test.csv

Column Delimiter:,

Encoding:UTF-8

Null String:Do Not Process

Compression Format:No

Skip Header:Yes

a

3-9.正常な場合、CSV ファイルの一部が表示されます。

a

3-10.データターゲットの設定を行います。下記内容を入力後に、自動的にマッピングされます。

Connection:MaxCompute

Table:手順1-10 で作成したテーブル

Write Mode:Insert Overwrite

Write by Converting Empty Strings into Null:No

a

3-11.共有リソースグループを選択します。「Configure Resource Group for Data Integration ー More」をクリックします。

3-12.「Shared Resource Group for Data Integration (Debugging)」を選択します。

3-13.「Save ー Run ー Run」を順にクリックし、ノードの実行を開始します。

3-14.しばらく待つと実行が完了します。

3-15.左メニューの「Tenant Tables」から「手順1-10 で作成したテーブル」を特定し、「Preview」タブにてCSVデータが反映されたことを確認します。

さいごに

DataWorks の Data Integration 機能を利用して、OSS 上のソースデータを MaxCompute にインポートしてみました。OSS に蓄積したログ(アクセスログ、監査ログなど)を MaxCompute で分析したいニーズをよく聞きますので、この手順は役に立つと思います。操作手順は多めですが、GUI 利用可能ですのでスムーズに進めることができました。次回の後編では GUI を利用せず、自作コードを利用したデータインポート方法も紹介したいと思います。

関連サービス

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。

MSPサービス

MSP(Managed Service Provider)サービスは、お客さまのパブリッククラウドの導入から運用までをトータルでご提供するマネージドサービスです。

おすすめの記事

条件に該当するページがございません