BigQueryに入れたDatastoreのテーブルをParent KeyでJOINする

More than 1 year has passed since last update.

DatastoreのレコードをBigQueryに入れるのはこっち参照: http://qiita.com/tab02733/items/966eab11be6845eaf3ee

Datastore Backupから取り込んだtableにあるkey関連のカラム

image

この中の、__key__.pathにこんな感じでancestor keyが文字列で入っている。

"ParentEntity", "9512e2b44c614b23216...", "ChildEntity", "child_key_name"


SQL関数で__key__.pathをバラしてやればJOINできた。

SELECT

parent.hogehoge
FROM
[datastore_backup20170117.Parent] parent
LEFT JOIN (
SELECT
REPLACE(NTH(2, SPLIT(__key__.path, ', ')), '"', '') parent_key_name
FROM
[datastore_backup20170117.Child]) child
ON
parent.__key__.name = child.parent_key_name