フィールドからデータを抽出する

このページでは、Cloud Data Fusion Studio の Wrangler ワークスペースでデータを準備するときに、フィールド(セル)からデータを抽出して変換する方法について説明します。

このデータに対して変換を実行するには、データを個別の列に分割します。Wrangler では、列からデータを抽出し、抽出されたデータの新しい列を作成できます。値は、パターン、区切り文字、位置に基づいて抽出できます。

パターンを使用してデータを抽出する

文字列データ型の列のフィールドからデータを抽出するには、次のパターンを使用します。

  • クレジット カード
  • 日付
  • 日時
  • メール
  • HTML アンカーの URL
  • IPv4 アドレス
  • ISBN コード
  • MAC アドレス
  • N 桁の数字
  • SSN
  • 開始パターンと終了パターン
  • 時間

パターンに基づいてデータを抽出する手順は次のとおりです。

  1. Cloud Data Fusion の Wrangler ワークスペースに移動します
  2. [データ] タブで列名に移動し、arrow_drop_down 展開矢印をクリックします。
  3. [フィールドを抽出] > [パターンを使用] を選択し、オプション(URL など)を選択します。
  4. 省略可: [パターンを表示] をクリックして、パターンの正規表現を表示します。
  5. [Extract] をクリックします。

Wrangler は、選択したパターンに基づいてフィールドを抽出し、extract-regex-groups ディレクティブをレシピに追加します。データ パイプラインを実行すると、Cloud Data Fusion は列内のすべての行に変換を適用します。

次の例では、列に数字が含まれ、その後にメールアドレスが続いています。

メール
1 222larabrown@gmail.com
2 cloudysanfrancisco@gmail.com

メールアドレスを抽出するには、[メール] パターンを選択します。[抽出] をクリックすると、Wrangler は元の列を保持し、メールアドレスのみを含む新しい列を作成します。

メール Emails_1
1 222larabrown@gmail.com 222larabrown@gmail.com
2 cloudysanfrancisco@gmail.com cloudysanfrancisco@gmail.com

区切り文字を使用してデータを抽出する

次の区切り文字に基づいて、2 つ以上の列にデータを抽出できます。

  • カンマ
  • タブ
  • パイプ
  • 空白文字
  • カスタムの区切り文字

値に区切り文字がない場合、新しい列の対応するフィールドに値は追加されません。

区切り文字に基づいて値を抽出するには:

  1. Cloud Data Fusion の Wrangler ワークスペースに移動します
  2. [データ] タブで列名に移動し、arrow_drop_down 展開矢印をクリックします。
  3. [フィールドを抽出> 区切り文字を使用] を選択し、オプション(カンマなど)を選択します。
  4. [Extract] をクリックします。

Wrangler は、選択した区切り文字に基づいてフィールドを抽出し、split-to-columns ディレクティブをレシピに追加します。データ パイプラインを実行すると、Cloud Data Fusion は列内のすべての値を変換します。

次の例では、列にカンマで区切られた複数の名前が含まれています。

ID 名前
1 Lee、Lucian、Luka
2 Mahan、Noam、Nur

この例では、カンマ区切りパターンを使用して、元の Name 列の値を 3 つの新しい列に抽出します。

ID 名前 Name_1 Name_2 Name_3
1 Lee、Lucian、Luka Lee Lucian Luka
2 Mahan、Noam、Nur マハン Noam Nur

位置でデータを抽出する

文字列の一部を、文字列内の位置に基づいて抽出できます。

位置に基づいてデータを抽出するには:

  1. Cloud Data Fusion の Wrangler ワークスペースに移動します
  2. [データ] タブで列名に移動し、arrow_drop_down 展開矢印をクリックします。
  3. [フィールドを抽出 > 位置情報を使用する] を選択します。抽出可能な列値は青色の背景で表示されます。
  4. 列の任意のセル内で、抽出する文字を選択します。
  5. [宛先列の名前] フィールドに名前を入力します。
  6. [適用] をクリックします。

選択した値の部分が、列内の各行から抽出されます。

Wrangler は、選択したパターンに基づいてフィールドを抽出し、cut-character ディレクティブをレシピに追加します。データ パイプラインを実行すると、Cloud Data Fusion は列内のすべての値に変換を適用します。

次のステップ