データを洗練させるためには、ある場所からデータを取り出し、クレンジングして形を整え、その結果を別の場所に書き込む。 Data Refinery というグラフィカル・フロー・エディター・ツールを使用して、表データのクレンジングとシェーピングを行うことができます。
データのクレンジングの場合は、正しくないデータ、不完全データ、不適切にフォーマットされたデータ、または重複したデータを修正または削除します。 データのシェーピングの場合は、列のフィルタリング、ソート、結合、または削除によってカスタマイズします。
Data Refinery フローは、データに対する順序付き操作のセットとして作成します。 Data Refinery には、データを検証するためにデータのプロファイルを作成するグラフィカル・インターフェースと、データに関する洞察を提供する 20 を超えるカスタマイズ可能なグラフが含まれています。
- 必要なサービス
- watsonx.aiStudio またはIBM Knowledge Catalog
- データ・フォーマット
- Avro、CSV、JSON、Microsoft Excel (xls および xlsx 形式)。 最初のシートのみ (接続および接続されたデータ資産を除く)。 Parquet、「sas7bdat」拡張子 (読み取り専用)、TSV (読み取り専用)、または区切り文字で区切られているテキスト・データ資産を持つ SAS
- リレーショナル・データ・ソースの表
- データ・サイズ
- 任意。 Data Refinery は、データ・セット内の行のサンプル・サブセットに対して動作します。 サンプル・サイズは、1 MB または 10,000 行のうち先に到達した方です。 ただし、Data Refinery フローのジョブを実行すると、データ・セット全体が処理されます。 Data Refinery フローが大規模なデータ資産で失敗する場合は、 Data Refineryの回避策を参照してください。
データとユース・ケースに適したツールの選択について詳しくは、 ツールの選択を参照してください。
前提条件
データを精製する前に、Cloud Object Storage を使用するプロジェクトを作成することが必要です。
このビデオを視聴して、プロジェクトを作成する方法を確認してください。
このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。
クラウドやオンプレミスのデータソースにデータがある場合は、それらのソースへの接続を追加するか、それぞれの接続からデータ資産を追加する必要がある。 精製したデータをクラウドまたはオンプレミスのデータ・ソースに保存できるようにするには、そのための接続も作成します。 Data Refineryでは、ソース接続はデータの読み取りのみに使用でき、ターゲット接続はデータの書き込みのみに使用できる。 ターゲット接続を作成するときは、必ず書き込み権限を持つ資格情報を使用してください。そうしないと、Data Refinery フロー出力をターゲットに保存できません。
このビデオを視聴して、接続を作成し、接続されたデータをプロジェクトに追加する方法を確認してください。
このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。
ソース・ファイルの制限事項
CSV ファイル
CSV ファイルが正しくフォーマット設定されており、以下のルールに準拠していることを確認してください。
- 1 つの行に 2 つの連続したコンマがある場合、その列は空であることを示します。
- 行がコンマで終わっている場合、追加の列が作成されます。
CVSファイルに悪意のあるペイロード(例えば数式)が入力フィールドに含まれている場合、これらの項目が実行される可能性があります。
空白文字はデータの一部と見なされます。
データに空白 (ブランク) 文字を含む列が含まれている場合、Data Refinery は、それらの空白文字がグリッドに表示されなくても、それらをデータの一部と見なします。 一部のデータベース・ツールは、文字ストリングに空白文字を埋め込んで、列内のすべてのデータを同じ長さにすることができます。この変更は、データを比較する Data Refinery 操作の結果に影響します。
列名
列名が以下のルールに準拠していることを確認してください。
- 重複する列名は許可されません。 列名はデータ・セット内で一意である必要があります。 列名では大/小文字の区別がありません。 列名「Sales」があり、さらに別の列に列名「sales」が含まれているとそのデータ・セットは機能しません。
- 列名は、R プログラミング言語の予約語ではありません。
- 列名は数値ではない。 回避策は、列名を二重引用符 ("") で囲むことです。
「Other」データ・タイプの列を持つデータ・セットは、Data Refinery フローではサポートされません。
データセットに、watsonx.aiStudio のプレビューで「その他」と識別されるデータ型を持つ列が含まれている場合、その列はData Refinery では String データ型として表示されます。 ただし、Data Refinery フローでデータを使用しようとすると、Data Refinery フローのジョブは失敗します。 プレビューで「Other」として表示されるデータ・タイプの例として、 Db2 DECFLOAT データ・タイプがあります。
ターゲット・ファイルの制限事項
Data Refinery フロー出力 (ターゲット・データ・セット) をファイルに保存する場合、以下の制限が適用されます。
- ファイルが既存のデータ資産である場合は、ファイル形式を変更できません。
データ保護ルール
Data Refinery は、行フィルターのデータ保護ルールをサポートしません。 資産が行フィルタリング・データ保護ルールによって管理されている場合、 Data Refinery ジョブが失敗することがあります。 また、行フィルタリング・データ保護ルールによって管理されるプロジェクトに IBM Knowledge Catalog から資産を追加する場合、 Data Refineryではマスキングは適用されません。 詳しくは、 データ保護ルールの適用を参照してください。
データ・セットのプレビュー
Data Refinery は、精製に時間がかかり、処理が困難な場合がある大規模なデータ・セットに対するサポートを提供します。 迅速かつ効率的な作業を可能にするために、Data Refinery は、ユーザーがデータを対話式に精製している間、データ・セット内の行のサブセットに対して動作します。 Data Refinery フローのジョブを実行した場合、データ・セット全体がその操作の対象になります。
データの精製
次のビデオでは、データを精製する方法を説明します。
このビデオは、本書の概念とタスクを学習するためのビジュアル・メソッドを提供します。
動画のトランスクリプト 時刻 トランスクリプト 00:00 このビデオでは、Data Refinery を使用して生データをシェーピングする方法を説明します。 00:05 プロジェクトからデータの詳細化を開始するには、データ資産を閲覧して 「Data Refinery」 で開きます。 00:14 データの精製が完了すると、「情報」ペインにデータ・フローとデータ・フロー出力の名前が表示されます。 00:23 「データ」タブには、データ・セット内の行と列のサンプル・セットが表示されます。 00:29 パフォーマンスを向上させるために、シェーパー内のすべての行が表示されるわけではありません。 00:33 ただし、データの詳細化が完了すると、データ・フローはデータ・セット全体に対して実行されます。 00:41 「プロファイル」タブには、各列の頻度統計と要約統計が表示されます。 00:49 「視覚化」タブには、関心のある列のデータ視覚化が表示されます。 00:57 推奨されるグラフは、アイコンの横に青い点が表示されます。 01:03 グラフ内で使用可能なさまざまなパースペクティブを使用して、データ内のパターン、接続、および関係を識別します。 01:12 では、いくつかのデータ・ラングリングを行いましょう。 01:17 指定された列 (この場合は「Year」列) でのソートなど、単純な操作から開始します。 01:27 例えば、特定の航空会社の遅延のみに焦点を当てたいとします。これにより、固有の航空会社が「ユナイテッド航空」である行のみを表示するようにデータをフィルターに掛けることができます。 01:47 合計遅延を確認すると役に立ちます。 01:50 到着遅延と出発遅延を結合する新しい列を作成してこれを行います。 01:56 列タイプは整数であると推測されることに注意してください。 02:00 出発遅延列を選択し、「計算」操作を使用します。 02:09 この場合、到着遅延列を選択列に追加し、"TotalDelay"という新しい列を作成します。 02:23 新しい列は、列のリストの最後に配置することも、元の列の横に配置することもできます。 02:31 操作を適用すると、出発遅延列の横に新しい列が表示されます。 02:38 間違えた場合、または単に変更する場合は、「ステップ」パネルにアクセスして、そのステップを削除します。 02:46 これにより、その特定の操作が元に戻されます。 02:50 「やり直し」ボタンと「元に戻す」ボタンを使用することもできます。 02:56 次に、"TotalDelay"カラムに注目し、"select "操作でカラムを先頭に移動させる。 03:09 このコマンドは、"TotalDelay"カラムをリストの最初に並べ、それ以外はその後に並べる。 03:21 次に、「group_by」操作を使用して、データを年、月、日でグループに分割します。 03:32 つまり、"TotalDelay"カラムを選択すると、"Year"、"Month"、""DayofMonth", "TotalDelay"カラムが表示される。 03:44 最後に、"TotalDelay"列の平均を求めたい。 03:48 「操作 (Operations)」メニューを展開すると、「編成 (Organize)」セクションに「集約 (Aggregate)」操作が表示されます。これには「平均 (Mean)」機能が含まれています。 04:08 これで、"AverageDelay",という新しいカラムができ、これは遅延の合計の平均を表します。 04:17 ここで、データ・フローを実行し、ジョブを保存して作成します。 04:24 ジョブの名前を指定して、次の画面に進みます。 04:28 「構成」ステップでは、ジョブ実行の入出力がどのようなものになるかを確認できます。 4 分 36 秒 ジョブの実行に使用する環境を選択します。 04:41 ジョブのスケジューリングはオプションですが、必要に応じて日付を設定し、ジョブを繰り返すことができます。 4 分 51 秒 また、このジョブの通知を受け取ることを選択できます。 04:56 すべて問題ないように見えるため、ジョブを作成して実行します。 05:00 データ・フローがフル・データ・セットで実行されることに注意してください。これには数分かかることがあります。 05:06 その間に、状況を表示できます。 05:12 実行が競合する場合は、プロジェクトの「資産」タブに戻ることができます。 05:20 さらに、 Data Refinery フローを開いて、データをさらに詳細化します。 05:28 例えば、"AverageDelay"カラムを降順にソートすることができる。 05:36 次に、フロー設定を編集します。 05:39 「一般」パネルで、 Data Refinery フロー名を変更できます。 05:46 「ソース・データ・セット」パネルで、ソース・データ・セットのサンプルまたはフォーマットを編集したり、データ・ソースを置き換えたりすることができます。 05:56 「ターゲット・データ・セット」パネルでは、外部データ・ソースなどの代替ロケーションを指定できます。 06:06 ターゲットのプロパティー (書き込みモード、ファイル・フォーマットなど) を編集したり、データ・セット資産名を変更したりすることもできます。 06:21 ここで、データ・フローを再度実行します。ただし、今回は、ジョブを保存して表示します。 6 時 28 分 表示するジョブをリストから選択し、ジョブを実行します。 6 時 41 分 実行が完了したら、プロジェクトに戻ります。 06:46 「資産」タブには、以下の 3 つのファイルがすべて表示されます。 06:51 オリジナル。 6 時 54 分 "AverageDelay"をソートせずに表示した、最初の洗練されたデータセット。 07:02 2つ目のデータセットは、"AverageDelay"カラムを降順にソートしたものである。 7 時 11 分 「資産 (Assets)」タブには、 Data Refinery フローがあります。 07:19 Cloud Pak for Data as a Service の資料には他にもビデオがあります。
1.プロジェクト内からData Refineryにアクセス。 「新規資産」>「データの準備と視覚化」をクリックします。 次に、処理するデータを選択します。 または、プロジェクトのAssetsタブでデータアセットをクリックしてプレビューし、Prepare dataをクリックします。
2. ステップを使用して、データをクレンジング、シェーピング、およびエンリッチする操作を適用します。 『操作カテゴリーまたは特定の操作の検索』を参照して、UI ガイドを表示します。 コマンド行でR コードの入力を実行して、正しい構文の取得をオートコンプリートに支援することができます。 データ・セットに操作を適用すると、Data Refinery は、それらの操作を追跡し、Data Refinery フローを作成します。 適用する操作ごとに、Data Refinery によってステップが追加されます。
データタブ '
'
データにストリング以外のデータ・タイプが含まれている場合、Data Refinery でファイルを開くと、 列タイプの変換 GUI 操作が Data Refinery フローの最初のステップとして自動的に適用されます。 データ・タイプは、推論されるデータ・タイプ (整数、日付、ブールなど) に自動的に変換されます。 このステップは、元に戻すことも編集することもできます。
3. 「プロファイル」 タブをクリックして、データの絞り込みプロセス全体で データを検証 します。
プロフィールタブ '
'
4. 「視覚化」 タブをクリックして、グラフで データを視覚化 します。 データ内のパターン、トレンド、および相関を明らかにします。
可視化タブ '
'
5. ニーズに合わせてサンプル・データ・セットを調整します。
6. 「保存してジョブを作成」 をクリックするか、ツールバーの 「ジョブを保存して表示」 をクリックして、データ・セット全体に対して Data Refinery フローを実行します。 ランタイムを選択して、1 回限りのスケジュールか繰り返しのスケジュールを追加します。 ジョブについて詳しくは、 Data Refineryを参照してください。
ユーザーが Data Refinery フローのジョブを実行すると、データ・セット全体が処理されます。 したがって、ジョブは、変換とフローで処理されるデータ量に基づいて、大きな出力(ターゲット)データセットを作成する可能性がある。 デフォルトでは、Data Refineryフローの結果は、プロジェクトのデータアセットとして保存されます。
データを精製する際に実行できるアクションについては、 Data Refinery フローの管理を参照してください。
次のステップ
もっと見る
親トピック: データの準備