すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:Spark SIMD JSON の使用

最終更新日:Jan 11, 2025

Spark Single Instruction, Multiple Data(SIMD)JSON は、Spark のネイティブ JSON パーサーよりも効率的にデータを解析します。このトピックでは、Spark SIMD JSON を有効化して使用する方法について説明します。

Spark SIMD JSON の有効化

E-MapReduce(EMR)コンソールで Spark SIMD JSON を有効にできます。

Spark Thrift Server での Spark SIMD JSON の有効化

  1. サービス タブに移動します。

    1. EMR コンソールにログインします。左側のナビゲーションペインで、EMR on ECS をクリックします。

    2. 上部のナビゲーションバーで、クラスターが存在するリージョンを選択し、ビジネス要件に基づいてリソースグループを選択します

    3. [EMR On ECS] ページで、管理するクラスターを見つけ、[アクション] 列の [サービス] をクリックします。

  2. 構成項目を追加します。

    1. [サービス] タブで、Spark3 セクションの [構成] をクリックします。

      この例では、Spark3 を使用しています。

    2. [spark-thriftserver.conf] タブをクリックします。

    3. [構成項目の追加] をクリックします。

    4. [キー]spark.sql.simd.json.enabled で、[値]true である構成項目を、[構成項目の追加] ダイアログボックスに追加します。

    5. [OK] をクリックします。

    6. 表示されるダイアログボックスで、[実行理由] フィールドに実行理由を入力し、[保存] をクリックします。

  3. Spark Thrift Server を再起動します。

    1. [サービス] タブで、[ステータス] タブをクリックします。

    2. [コンポーネント] セクションで、[sparkthriftserver] を見つけ、[アクション] 列の [再起動] をクリックします。

    3. 表示されるダイアログボックスで、[実行理由] フィールドに実行理由を入力し、[OK] をクリックします。

    4. [確認] メッセージで、[OK] をクリックします。

Spark ジョブで Spark SIMD JSON を有効にする

Spark ジョブを開始するために使用するコマンドに、次のパラメーターを追加します。

spark.sql.simd.json.enabled=true

サポートされている関数

Spark SIMD JSON は、次の関数をサポートしています。これらの関数は、Spark のネイティブ JSON パーサーの関数と同じ方法で使用できます。

  • get_json_object(expr, path)

    サンプルコード:

    SELECT get_json_object('{"a":"b"}', '$.a');
    b
  • json_tuple(jsonStr, path1 [, ...] )

    サンプルコード:

    SELECT json_tuple('{"a":1, "b":2}', 'a', 'b'), 'Spark';
    1 2 Spark
    SELECT json_tuple('{"a":1, "b":2}', 'a', 'c'), 'Hive';
    1 NULL Hive