Как исключить столбцы при экспорте данных ядра приложения - PullRequest
1 голос
/ 12 апреля 2011

Я планирую провести анализ данных в моем приложении django, которое использует appengine для хранения данных, однако одна из моих таблиц хранит изображения в двух своих столбцах, и из-за этого их размер составляет гигабайты, поэтомуслишком медленно загружать каждый раз, когда я хочу проанализировать новые данные.Для интеллектуального анализа данных меня интересуют только столбцы текста плана в этой таблице. Как исключить эти столбцы при экспорте данных в файл CSV?

Я знаю, что для CSV существует "column_list"соединитель для builddupload.yaml, который можно указать для включения только определенных столбцов при экспорте данных, но, похоже, он все равно загружает всю строку таблицы перед фильтрацией столбцов при преобразовании промежуточного файла данных applgine sqlite3 в csv.

Для справки, я использую метод, описанный здесь, для загрузки моих данных http://code.google.com/appengine/docs/python/tools/uploadingdata.html,, но я открыт для других решений, предпочтительно таких, где я могу автоматизировать экспорт этих данных каждые несколько дней.

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Вы не можете. API хранилища данных AppEngine и базовый GQL выполняют только два вида запросов SELECT: только __key__ и все поля. Нет способа получить подмножество полей.

0 голосов
/ 05 декабря 2013

Довольно поздно, но все, что я сделал в подобной ситуации, - удалил нежелательное свойство из автоматически созданного файла bulkloader.yaml.

Вот пример использования документации Google для исключения свойства "account" из файла csv. Я использую его для таких вещей, как капли, и там он тоже отлично работает:

property_map:
- property: __key__
  external_name: key
  export_transform: transform.key_id_or_name_as_string
START DELETE
- property: account
  external_name: account
  # Type: Key Stats: 119 properties of this type in this kind.
  import_transform: transform.create_foreign_key('TODO: fill in Kind name')
  export_transform: transform.key_id_or_name_as_string
END DELETE
- property: invite_nonce
  external_name: invite_nonce
  # Type: String Stats: 19 properties of this type in this kind.
0 голосов
/ 13 апреля 2011

Как вы заметили, массовый загрузчик загружает всю запись с помощью remote_api, а затем выводит только те поля, которые вам нужны, в CSV. Если вы хотите загружать только выбранные поля, вам придется написать собственный код, чтобы сделать это на стороне сервера - возможно, с помощью нового Файлового API в mapreduce, чтобы написать файл, который вы затем сможете скачать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...