インデックス レイヤーデータを削除します

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

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

  • updateLayer(catalogHrn, layerId) 更新するカタログおよびレイヤーを定義します。
  • option("olp.deleteTimeoutKey", timeoutInMsec) delete 関数呼び出しのタイムアウトをミリ秒単位で定義します。 デフォルトは 100 秒です。
  • delete(queryString) クエリー文字列に従って削除操作を実行します。 クエリ文字列 は RSQL 形式です。 delete 関数の呼び出しがブロックされているか、同期されています。 この関数 option は、削除操作が完了したとき、または関数で設定されたタイムアウトの後に戻ります。

プロジェクトの依存関係

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

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

Scala
Java
import com.here.platform.data.client.spark.scaladsl.{
  GroupedData,
  IndexDataConverter,
  IndexRowMetadata
}
import com.here.platform.data.client.spark.LayerDataFrameReader.SparkSessionExt
import com.here.platform.pipeline.PipelineContext
import org.apache.spark.sql.SparkSession
val df = sparkSession
  .updateLayer(catalogHrn, layerId)
  .delete(s"testId == $testId")
df.show()
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 org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

Dataset<Row> df =
    JavaLayerUpdater.create(sparkSession)
        .updateLayer(catalogHrn, layerId)
        .delete("testId == " + testId);
int deletedCount = df.select("count").first().getInt(0);
String deletionMessage = df.select("message").first().getString(0);
注 :

RSQL の詳細 については、 RSQL を参照してください。

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

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