Dataphin は Python で記述されたスクリプト開発のみをサポートし、サードパーティコンポーネントに依存するスクリプトには対応していません。サードパーティコンポーネントを使用するには、pip install を使用して取得する必要があります。このトピックでは、Dataphin で Shell タスクを作成し、Python を使用してサードパーティソースからファイルを読み取るプロセスについて概要を説明します。
前提条件
アクセスアドレス mirrors.aliyun.com とポート * をプロジェクトのサンドボックス ホワイトリストに追加します。詳細については、「ApsaraDB RDS for MySQL インスタンスへの接続 (手順 2)」をご参照ください。
TXT、CSV、XLS、XLSX、PDF など、Python で読み取り可能な形式のファイルが使用可能であることを確認します。
手順 1: ファイルをアップロードする
Dataphin コンソールにサインインします。
Dataphin コンソールで、ワークスペース リージョンを選択し、[dataphin に入る >>] をクリックします。
[リソース管理] ページに移動します。
Dataphin ホームページから、[開発] をクリックします。
[データ開発] ページに移動し、[データ処理] をクリックします。
左側のナビゲーションウィンドウで、
[リソース管理] アイコンをクリックします。
[リソース管理] ページで、[リソース管理]
アイコンをクリックします。
[新規リソース] ダイアログボックスで、必要なパラメーターを設定します。
パラメーター
説明
種類
[その他] を選択します。
名前
アップロードするファイルの名前には、test.xlsx などのファイルの種類を含める必要があります。
説明
リソースの説明を入力します。
ファイルをアップロード
test.xlsx などのローカル ファイルを選択してアップロードします。
コンピューティングの種類
[エンジンに関連付けられていない] を選択します。
重要ファイル リソースは Dataphin システム内に保存されるため、[エンジンに関連付けられていない] のみを選択できます。
ディレクトリを選択
デフォルトのディレクトリは [リソース管理] です。
リソースの送信を完了するには、[送信] をクリックします。
[送信の備考] ダイアログボックスで、必要なコメントを入力します。
[確認して送信] をクリックします。
手順 2: Shell タスクを作成する
[データ処理] タブで、左側のナビゲーションバーの
[スクリプト タスク] アイコンをクリックします。
[スクリプト タスク] ページで、[スクリプト タスク]
アイコンの横にある をクリックし、 を選択します。
DataX タスク スクリプトを作成します。
[新規ファイル] ダイアログボックスで、パラメーターを適切に設定します。
パラメーター
説明
名前
コンピューティング タスクの名前 (「Python によるファイルの読み取り」など) を入力します。
スケジュール タイプ
タスクのスケジュールタイプを [定期タスク ノード] に設定します。
説明
タスクの説明を入力します。
ディレクトリを選択
システムは自動的に [コード管理] を選択します。
[確認] をクリックします。
手順 3: Shell タスク コードを記述して実行する
指定されたコーディング ページにコードを記述します。
# Dataphin Linux サーバーに新しいディレクトリを作成します。 mkdir -p /tmp/chars/ && \ # ディレクトリ /tmp/chars/ を Python ソースとして指定します。 pip install -i https://mirrors.aliyun.com/pypi/simple/ \ --target=/tmp/chars/ \ openpyxl # Python ソースを openfile.py に書き込みます。 cat >openfile.py <<EOF @resource_reference{"test.xlsx"} # -*- coding:utf-8 -*- import os import sys sys.path.append('/tmp/chars/') import openpyxl print '========= python execute ok ==========' print("start===============") args = sys.argv # Excel ファイルを開き、シート名を取得します wb = openpyxl.load_workbook(args[1]) # wb.get_sheet_names メソッドは非推奨であり、警告が表示されます print(wb.worksheets[0]) EOF # Python でファイルを実行します。 python openfile.py test.xlsx
test.xlsx パラメーターを、アップロードしたファイルの名前に置き換えます。
タスク コードを実行するには、ページの右上にある [実行] をクリックします。
実行ステータスが SUCCESS の場合、ファイルが正常に読み取られたことを示します。