0

У меня довольно небольшой набор данных (5 ~ gb, 1,5 миллиона строк), который в настоящее время хранится в Bigtable и доступен через API HBase (Scala) для целей делая аналитику данных с помощью Spark (dataproc).Предложения по улучшению рабочего процесса Bigtable/HBase/Spark (экономически)

Тем не менее, у меня тоже ограниченный бюджет, а стоимость Bigtable довольно высокая (2 ~ USD/час), поэтому то, что я закончил, - это удаление и воссоздание кластера Bigtable всякий раз, когда мне это нужно.

Очевидным недостатком является то, что для заполнения нового кластера требуется довольно много времени из-за характера моих данных. Все это хранится в одном большом текстовом файле как JSON, и для заполнения кластера требуется 40 ~ минут.

Так что я спрашиваю, есть ли лучший способ выполнить это, например, реализовать какую-то рутину резервного копирования/моментального снимка? Или просто не использовать Bigtable вообще. Я не смог найти другие альтернативы HDFS на платформе Google Cloud.

Следует отметить, что я достаточно свеж для мира Hadoop и больших данных, поэтому извините мое невежество, если я пропущу очевидное.

ответ

1

Прежде всего, если вы его еще не видели, мы покажем, как использовать Cloud Bigtable with Dataproc. Должно быть легко развернуть работу, чтобы быстро заполнить ваш Bigtable, если это то, что вы хотите.

Bigtable действительно разработан для баз данных 1Т или более. При размере 5 ГБ вы можете рассмотреть Memcache или Redis. С Redis вам нужно будет только один раз загрузить ваши данные, а затем вы сможете сохранить диск при повороте вашего экземпляра/кластера.

1

Дополнительно (если он подходит вашему прецеденту, и вам не нужны аспекты базы данных Bigtable), вы можете запускать задания Hadoop или Spark (используя Google Cloud Dataproc, если хотите), непосредственно над файлами в Google Cloud Storage, что будет существенно дешевле, чем хранить данные в Bigtable.

См. Google Cloud Storage connector для получения дополнительной информации.

1

Рассмотрите возможность импорта json один раз, а затем экспортируйте данные в файлы последовательности через hadoop, как описано здесь: https://cloud.google.com/bigtable/docs/exporting-importing. Формат файла последовательности, который использует hasoop, скорее всего, будет более эффективным, чем json.

Смежные вопросы