ボラタイル レイヤーデータを削除します

データ クライアント ライブラリは LayerUpdater 、揮発性レイヤーで更新操作を実行するためのクラスを提供します。

LayerUpdater は 3 つの方法があります。

  • updateLayer(catalogHrn, layerId) 更新するカタログおよびレイヤーを定義します。
  • option(key, value) true に設定する "olp.volatile.delete-data-only" と、メタデータが保持されている間にデータのみを削除するかどうかを指定できます。 デフォルトでは、メタデータとデータの両方が削除されます。
  • delete(queryString) クエリー文字列に従って削除操作を実行します。 クエリ文字列 は RSQL 形式です。 delete 関数呼び出しがブロッキング / 同期しています。 削除操作が完了すると、この値が返されます。

プロジェクトの依存関係

HERE platform Spark コネクタを使用してボラタイル レイヤーからデータを削除するアプリケーションを作成する場合 は、「 Spark コネクタの依存関係」の章の説明に従って、必要な依存関係をプロジェクトに追加してください。

次のスニペットでは、カタログのボラタイル レイヤーからデータを削除する方法を示します。

Scala
Java
import com.here.platform.data.client.spark.LayerDataFrameReader.SparkSessionExt
import org.apache.spark.sql.SparkSession
val df = sparkSession
  .updateLayer(catalogHrn, layerId)
  .delete(s"mt_partition=in=($partitionId, $anotherPartitionId)")

val deleteResult = df.select("result").first.getString(0)
val deletedCount = df.select("count").first.getInt(0)
val deletionMessage = df.select("message").first.getString(0)
import static org.apache.spark.sql.functions.*;

import com.here.hrn.HRN;
import com.here.platform.data.client.spark.javadsl.JavaLayerUpdater;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.types.IntegerType;

Dataset<Row> dataFrame =
    JavaLayerUpdater.create(sparkSession)
        .updateLayer(catalogHrn, layerId)
        .delete(String.format("mt_partition=in=(%s,%s)", partitionId, anotherPartitionId));

String deleteResult = dataFrame.select("result").first().getString(0);
int deletedCount = dataFrame.select("count").first().getInt(0);
String deletionMessage = dataFrame.select("message").first().getString(0);
注 :
  • RSQL の詳細 については、 RSQL を参照してください。

」に一致する結果は 件です

    」に一致する結果はありません