らいとにんぐとーく 〜Bulkloader〜   @o310yusuke
Javaな小川さんの前で・・・
Pythonの話をします!!           (ゝω・) テヘペロ
ワイルドだろぉ〜
Bulkloader
注意事項●   詳しい設定は公式サイトを・・・●   「GAE bulkloader」で検索して下さい
なんぞ?●   GAE/Py(Python2系)●   Datastoreのデータをダウンロード●   Datastoreにデータをアップロード●   大量データも動く
いいところ●   XMLとかCSVとか使える●   マスタデータを事前に投入できる●   GAE/Jアプリ用のデータも作れる
設定方法〜主キー〜- property: __key__  external_name: key ← JavaのModelで設定した名前  export_transform: transform.key_id_or_name_as_string...
設定方法〜外部キー〜- property: modelRef  external_name: modelRef ← JavaのModelで設定した名前  export_transform: transform.key_id_or_name_as...
設定方法〜祖先パス〜- property: __key__  external_name: key  export_transform: transform.key_id_or_name_as_string  import_transform:...
設定方法〜ラムダ式〜- property: list  external_name: list  export_transform: "lambda li: [_.join(s) for s in li]"  import_transform:...
設定方法〜ラムダ式2〜- property: keyList  external_name: keyList  export_transform: "lambda li: [_.join(    transform.key_id_or_name...
困った事●   データ削除は管理画面で。。。●   大量データの更新には時間が。。。●   キー発番ルールがわからん;;●   bulkloaderの設定がPython・・・●   空のリストのbulkloaderの設定が;;
fin...
Upcoming SlideShare
Loading in …5
×

20121123_bulkloaderを使ってみよう@GDG中国

749 views
716 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
749
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

20121123_bulkloaderを使ってみよう@GDG中国

  1. 1. らいとにんぐとーく 〜Bulkloader〜 @o310yusuke
  2. 2. Javaな小川さんの前で・・・
  3. 3. Pythonの話をします!! (ゝω・) テヘペロ
  4. 4. ワイルドだろぉ〜
  5. 5. Bulkloader
  6. 6. 注意事項● 詳しい設定は公式サイトを・・・● 「GAE bulkloader」で検索して下さい
  7. 7. なんぞ?● GAE/Py(Python2系)● Datastoreのデータをダウンロード● Datastoreにデータをアップロード● 大量データも動く
  8. 8. いいところ● XMLとかCSVとか使える● マスタデータを事前に投入できる● GAE/Jアプリ用のデータも作れる
  9. 9. 設定方法〜主キー〜- property: __key__ external_name: key ← JavaのModelで設定した名前 export_transform: transform.key_id_or_name_as_string ↑ Keyクラスの値を文字列でダウンロード import_transform: transform.none_if_empty(long) ↑ IDの値をKeyとして設定(空だったら自動設定) 同じidだったら更新される(ハズ)
  10. 10. 設定方法〜外部キー〜- property: modelRef external_name: modelRef ← JavaのModelで設定した名前 export_transform: transform.key_id_or_name_as_string ↑ ModelRefで設定しているKeyクラスの値を文字列で import_transform: transform.create_foreign_key( KIND名, key_is_id=True) ↑ どのKINDの主キーとして設定するか (Keyはidかnameか)
  11. 11. 設定方法〜祖先パス〜- property: __key__ external_name: key export_transform: transform.key_id_or_name_as_string import_transform: transform.create_deep_key( (先祖KIND名, 先祖のキーを表すプロパティ名,True), (KIND名, キーを表すプロパティ名,True) )
  12. 12. 設定方法〜ラムダ式〜- property: list external_name: list export_transform: "lambda li: [_.join(s) for s in li]" import_transform: "lambda str: str.split(_)"
  13. 13. 設定方法〜ラムダ式2〜- property: keyList external_name: keyList export_transform: "lambda li: [_.join( transform.key_id_or_name_as_string(li) for s in li]" import_transform: "lambda str: [ transform.create_foreign_key(KIND名, key_is_id=True (s) for s in str.split(_)]"
  14. 14. 困った事● データ削除は管理画面で。。。● 大量データの更新には時間が。。。● キー発番ルールがわからん;;● bulkloaderの設定がPython・・・● 空のリストのbulkloaderの設定が;;
  15. 15. fin...

×