コマンドラインからHadoopスコアリングを使用する¶
注意
スタンドアロンスコアリングエンジン(SSE)を含むHadoopのデプロイとスコアリングは、リリースv7.3(クラウドユーザーは2021年12月13日)から使用できなくなり、完全に使用非推奨となります(寿命終了)。廃止後は、Hadoopを使って予測を生成することはできません。
上級ユーザーは、アプリケーション内からではなく、コマンドラインからHadoopスコアリングを実行できます。以下のセクションでは、必要な構文と例を紹介します。これらの高度な機能のパラメーターの説明も含まれています。
datarobot-scoringのコマンド構文¶
完全なdatarobot-scoring
コマンド構文は、下記の通りです。
datarobot-scoring <model_file> --input=<input> --output=<output>
[--format=<format>]
[--header=<header>]
[--add-columns=<columns>]
[--database=<database>]
[--batch_size=<batch_size>]
[--skip-header]
[--combine-output=<boolean>]
[--index=<boolean>]
[--skip-bad-rows=<boolean>]
[--output-format=<format>]
[--spark-conf=<spark_conf> ...]
注意:Hortonworks(HDP)のコマンドラインからdatarobot-scoring
コマンドを実行するとき、UIからコピーしたコマンド構文にパスを手動で追加する必要があります。例:
export PATH=/opt/DataRobot/current/bin/:$PATH
モデルファイルを取得する¶
datarobot-scoring
コマンドを使用するには、ファイルをエクスポートする必要があります。.drx
この操作は、[.drx
ダウンロードタブにあるモデルのエクスポート機能を使用して行うことができます。エクスポートしたファイルを、スコアリングするデータを含むクラスターのHDFSにコピーします。このHDFSにDataRobotパーセルがデプロイされてアクティブ化されます。<model_file>.drx
スキーマ()および絶対パス(など)を含むファイルの完全に利用権限のあるパスがで指定されていることを確認します。
使用例¶
下記は、datarobot-scoring
コマンド使用の簡単な例です。モデルのファイルパスは自動的に16進数列に保存されますが、簡単にするため、dtree_calhousing.model
に名前が変更されています。
$ datarobot-scoring
/tmp/dtree_calhousing.model --input=/tmp/cal_housing.csv --output=/tmp/out.house1
$ hdfs dfs -ls /tmp/out.house1
-rw-r--r-- 3 datarobot supergroup 163496 2016-01-25 14:58 /tmp/out.house1
便宜上、初期設定モードのは、`--combine-output=True`ヘッダーを含む単一出力ファイルを生成します。1パーティションにつき1ファイルが好ましいときは、を使用します`--combine-output=False`。
$ datarobot-scoring
/tmp/dtree_calhousing.model --input=/tmp/cal_housing.csv --output=/tmp/out.house1 --combine-output=False
$ hdfs dfs -ls /tmp/out.house1
Found 3 items
-rw-r--r-- 3 datarobot supergroup 0 2016-01-25 13:09 /tmp/out.house1/_SUCCESS
-rw-r--r-- 3 datarobot supergroup 163496 2016-01-25 13:09 /tmp/out.house1/part-00000
-rw-r--r-- 3 datarobot supergroup 163749 2016-01-25 13:09 /tmp/out.house1/part-00001
Hadoop getmerge
コマンドを使用して、再度マージすることができます。
その他の例¶
HDFSに保存されたスコアリング済みデータに加え、datarobot-scoring
コマンドは下記にも使用できます。
- 複数入力ファイル
- Hive表
複数入力ファイルのスコアリング¶
この例では、複数のファイルをスコアリングします。すべてのファイルは/user/datarobot/lorem
ディレクトリにあります。これらはヘッダーのない.csvファイルなので、コマンドには--header
オプションが含まれています。
hadoop_host$ datarobot-scoring --input=/user/datarobot/lorem
--header="lorem,ipsum,dolor,sit,amet,consectetur,adipiscing,elit"
--output=/user/datarobot/lorem.scores
hdfs:///user/datarobot/lorem.model
--skip-header
オプションを使用すると、ヘッダーを無視できます。
Hive表のスコアリング¶
この例では、Hive表をスコアリングスクリプトの入力として使用します。ここでは、DataRobotはipsum
データベースlorem
内のという名前の表のスコアリングを行います。
hadoop_host$ datarobot-scoring --input=lorem --database=ipsum --output=/user/datarobot/lorem.scores hdfs:///user/datarobot/lorem.model
データセットの列に小文字が含まれる場合、このようにヘッダを指定します。
hadoop_host$ datarobot-scoring --input=lorem
--database=ipsum
--header="lOREM,Ipsum,dOLOR,SIT,aMET,cONSECTETUR,aDIPISCING,eLIT"
hdfs:///user/datarobot/lorem.model