Как Вы загружаете данные оптом на Google App Engine Datastore?

HTFAR = realloc(HTFAR,sizeof(void*));

должно быть

HTFAR = realloc(HTFAR,sizeof(void(*)(void))*(NumberOfT+1));

Вы получили конкретную ошибку, которую сделали, потому что realloc переместил блок, и вы перезаписали блок после того, который был возвращен (я думаю) malloc (0x0). [113 ]

5
задан Ryan A. 3 April 2018 в 12:50
поделиться

3 ответа

You can use the bulkloader.py tool:

The bulkloader.py tool included with the Python SDK can upload data to your application's datastore. With just a little bit of set-up, you can create new datastore entities from CSV files.

6
ответ дан 13 December 2019 в 19:36
поделиться

У меня нет идеального решения, но я предлагаю вам попробовать App Engine Console . App Engine Console - это бесплатный плагин, который позволяет запускать интерактивный интерпретатор Python в вашей производственной среде. Это полезно для одноразовых манипуляций с данными (таких как импорт начальных данных) по нескольким причинам:

  1. Это старый добрый интерпретатор read-eval-print. Вы можете делать что-то по одному, вместо того, чтобы писать идеальный код импорта сразу и запускать его в пакетном режиме.
  2. У вас есть интерактивный доступ к вашей собственной модели данных, так что вы можете читать / обновлять / удалять объекты из хранилище данных.
  3. У вас есть интерактивный доступ к URL Fetch API, так что вы можете разбирать данные по частям.

Я предлагаю что-то вроде следующего:

  1. Получите вашу модель данных, работающую в вашей среде разработки.
  2. Разделите ваши CSV-записи на куски менее 1000. Опубликуйте их где-нибудь, например, в Amazon S3 или по любому другому URL-адресу.
  3. Установите консоль App Engine в свой проект и отправьте ее в производство
  4. Войдите в консоль. (Только администраторы могут использовать консоль, поэтому вы должны быть в безопасности. Вы даже можете настроить ее так, чтобы HTTP 404 возвращал «плащ» от неавторизованных пользователей.)
  5. Для каждого блока вашего CSV:
    1. Используйте URLFetch для удаления фрагмента данных.
    2. Используйте встроенный модуль csv для сортировки ваших данных, пока у вас не появится список полезных структур данных (скорее всего, список списков или как-то так)
    3. Напишите цикл для , перебирая каждую структуру данных в списке:
      1. Создать объект данных со всеми правильными свойствами.
      2. положить () его в хранилище данных.

Вы должны обнаружить, что после одной итерации до # 5 вы можете либо скопировать и вставить, либо написать простые функции для ускорить вашу задачу импорта. Кроме того, благодаря извлечению и обработке ваших данных в шагах 5.1 и 5.2 вы можете не торопиться, пока не будете уверены, что у вас все в порядке.

( Обратите внимание, консоль App Engine в настоящее время лучше всего работает с Firefox. )

3
ответ дан 13 December 2019 в 19:36
поделиться

более поздняя версия sdk движка приложений, можно загрузить с помощью appcfg.py

см. appcfg.py

0
ответ дан 13 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: