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

Tablestore:データ型

最終更新日:Dec 28, 2024

このトピックでは、Spark、Scala、および Tablestore の検索インデックスとテーブル間のデータ型と値型のマッピングについて説明します。これらのデータ型と値型を使用する場合は、Spark、Scala、および Tablestore のマッピング規則に従う必要があります。

基本データ型

次の表は、サポートされている基本データ型を示しています。

Spark のデータ型

Scala の値型

検索インデックスのデータ型

テーブルのデータ型

ByteType

Byte

Long

Integer

ShortType

Short

Long

Integer

IntegerType

Int

Long

Integer

LongType

Long

Long

Integer

FloatType

Float

Double

Double

DoubleType

Double

Double

Double

StringType

String

Keyword/Text

String

BinaryType

Array[Byte]

Binary

Binary

BooleanType

Boolean

Boolean

Boolean

String JSON (地理座標)

String (JSON)

Geopoint

String (JSON)

地理位置情報データ型

検索インデックスは地理クエリをサポートしています。地理クエリが計算レイヤーにプッシュダウンされると、Spark は基本的なデータ型に加えて、地理位置情報に基づいてデータをクエリおよび分析できます。

地理クエリは、地理距離クエリ、地理バウンディングボックスクエリ、および地理ポリゴンクエリのクエリタイプを提供します。地理クエリを使用して、IoT デバイスの位置、食品配達注文の位置、従業員の入退勤時の位置、速達配達注文の位置に関する情報をクエリできます。次の方法を使用して地理クエリを実行できます。

  • Tablestore の検索インデックスを使用します。詳細については、地理距離クエリを参照してください。

  • Spark SQL を使用します。

    • クエリの中心点と半径を指定して、地理距離クエリを使用します。

      select * from table where  val_geo = '{"centerPoint":"3,0", "distanceInMeter": 100000}' and name like 'ali%'
    • 地理バウンディングボックスクエリを使用します。

      select * from table where geo = '{"topLeft":"8,0", "bottomRight": "0,10"}' and id in { 123 , 321 }
    • 地理ポリゴンクエリを使用します。

      select * from table where geo = '{"points":["5,0", "5,1", "6,1", "6,10"]}'

次の表は、Spark、Scala、検索インデックス、およびテーブルでサポートされている地理位置情報データ型を示しています。

Spark のデータ型

Scala の値型

検索インデックスのデータ型

テーブルのデータ型

String JSON (円形地理領域の中心点の座標と半径)

String (JSON)

Geopoint

STRING (JSON)

STRING JSON (長方形の地理領域の頂点の座標)

String (JSON)

Geopoint

STRING (JSON)

String JSON (多角形の地理領域の頂点の座標)

String (JSON)

Geopoint

STRING (JSON)