DseGraphFrameのマッピング規則
DseGraphFrameでは、カラム名と型にマッピング規則を使用します。
DseGraphFrameでは、カラム名と型にマッピング規則を使用します。
カラムのマッピング規則
DataFrameのカラム名は、以下の場合を除き、グラフのプロパティ名と同じになります。
GraphFrameによって予約されているカラム名と競合する場合は、プロパティ名にアンダースコア(_)が追加されます。たとえば、idカラムのプロパティ名は_idとなります。表 1. GraphFrameで予約されているカラム名 予約されているカラム名 idsrcdstnew_idnew_srcnew_dstgraphx_attrDseGraphFrameとSpark SQLは、デフォルトで大文字と小文字が区別されません。大文字と小文字のみが異なるカラム名では、競合が起きます。大文字と小文字の競合を回避するには、Sparkプロパティspark.sql.caseSensitive=trueを設定してください。$ dse spark --conf spark.sql.caseSensitive=true
型マッピング規則
DseGraphFrameとSpark SQLでサポートされている型は限られています。頂点はRowインスタンスで表現されます。
頂点に複数のプロパティがある場合、各プロパティはプロパティ値を持つSpark SQL配列として表現されます。プロパティにメタプロパティがある場合、そのプロパティはStructTypeとして表現されます。構造体のvalueフィールドにはプロパティ値が含まれています。他のすべてのフィールドでメタプロパティが表現されます。
| DSE Graphの型 | Spark SQLの型 | 変換規則 |
|---|---|---|
boolean |
BooleanType |
|
smallint |
ShortType |
|
int |
IntegerType |
|
bigint |
LongType |
|
float |
FloatType |
|
double |
DoubleType |
|
decimal |
DecimalType(38, 18) |
|
varint |
DecimalType(38, 0) |
|
timestamp |
TimestampType |
|
date |
DateType |
|
time |
LongType |
日付の始まりからのナノ秒数。 |
text |
StringType |
|
uuid |
StringType |
UUID.toString()メソッドとUUID.fromString()メソッドを使用して値を変換します。 |
inet |
StringType |
toStringメソッドとInetAddress.getByName()メソッドを使用して値を変換します。 |
BLOB |
BinaryType |
|
'PointType' |
StringType |
toWellKnownText()メソッドとfromWellKnownText()メソッドを使用して値を変換します。 |
'LineStringType' |
StringType |
toWellKnownText()メソッドとfromWellKnownText()メソッドを使用して値を変換します。 |
‘PolygonType' |
StringType |
toWellKnownText()メソッドとfromWellKnownText()メソッドを使用して値を変換します。 |
