Nano Hash - криптовалюты, майнинг, программирование

Как использовать memcache в потоке данных?

Я хотел бы использовать Memcache в dafalow ParDo? есть идеи, как это сделать? Я не могу использовать существующую библиотеку memcahse, поскольку она принадлежит appengine и не сериализуема. Рохит


  • ParDo может выполнять произвольный код, вы можете использовать любые библиотеки, какие захотите, включая библиотеки для доступа к Memcache. Можете ли вы привести пример кода, который вы используете, и ошибок, которые вы получаете? 02.08.2016
  • Я пытаюсь использовать API, перечисленные в сервлете по вставленной ссылке ниже, для доступа к кэшу памяти. cloud.google.com/appengine/docs/java/memcache/examples . Я использую это внутри ParDo. Он выдает java.io.NotSerializableException: com.google.appengine.api.memcache.MemcacheServiceImpl в java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) 02.08.2016

Ответы:


1

Я предполагаю, что у вас есть частная переменная в вашем DoFn типа MemcacheServiceImpl (если мое предположение неверно, отредактируйте свой вопрос, включив в него код вашего DoFn).

Действительно, Dataflow сериализует ваши DoFn, когда вы отправляете конвейер, и десериализует их на рабочих процессах. Правильный способ справиться с этим - сделать переменную переходной и лениво инициализировать ее:

class MyDoFn extends DoFn<..., ...> {
  private transient MemcacheService memcache;
  private MemcacheService getMemcache() {
    if (memcache == null) {
      memcache = MemcacheServiceFactory.getMemcacheService();
      ...
    }
  }

  public void process(...) {
    ...use getMemcache()...
  }
}

Также обратите внимание, что для доступа к API AppEngine, включая Memcache, из среды, отличной от AppEngine, следует использовать Удаленный API.

02.08.2016
  • Есть ли шанс, что я смогу сделать что-то подобное с SDK python? 03.05.2018
  • @jkff Я получаю исключение Не удается вызвать API-интерфейс memcache. Получить в потоке, который не является ни исходным потоком запроса, ни потоком, созданным ThreadManager, исключение, когда я запускаю свое задание потока данных, не могли бы вы помочь мне устранить неполадки? Нужно ли использовать RemoteAPI? Не могли бы вы предоставить пример использования Memcache в потоке данных. 23.05.2019
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..