Разъем T Progress Merclogic Spark: получение данных

Соединитель Progress MarkLogic Spark: получение данных
Автор: Рекиа Хинтон Опубликовано 8 августа 2023 г. 0 комментариев

Соединитель Progress MarkLogic Spark — это промежуточный

Tинструмент Apache Spark, который поддерживает чтение и запись данных на сервере MarkLogic. Apache Spark — это унифицированная аналитическая система для крупномасштабной обработки данных. Многие инструменты анализа данных, такие как Apache Spark, требуют данных в строках. MarkLogic Server хранит данные в виде документов, но Connector сочетает в себе возможности Apache Spark и MarkLogic Server, передавая данные строками между каждым инструментом.

В этом посте мы рассмотрим пример задачи, чтобы изучить, как MarkLogic Spark Connector считывает данные, преобразовывая их из документов в строки. Мы будем использовать сценарии Python для получения данных из MarkLogic и создания DataFrame Spark. Эта задача продемонстрирует, насколько легко эффективная технология облегчает эту операцию при небольшом опыте использования MarkLogic со стороны пользователя.

Пример задачи: получение данных из MarkLogic

В этом разделе мы создадим DataFrame Spark, получив данные из MarkLogic. Прежде чем приступить к выполнению этой задачи, необходимо загрузить  Мы используем этот список на основе данных веб-сайта и его размера или объема. Потому что мы сортируем информацию Данные WhatsApp через профессиональных людей, поэтому получаем стопроцентно точные результаты в нашей библиотеке номеров телефонов. Полная, но обновляемая до августа 2024 года. Наша библиотека телефонных номеров включает в себя руководство на несколько дней и ночей. Spark Connector и настроить его, развернув пример приложения. Инструкции найдите здесь.

Инициализация Spark

 

Данные WhatsApp
Для начала запустите Juypter Notebook и откройте новое ядро:

 

Запустите этот скрипт:

# Сделайте соединитель MarkLogic доступным для базового приложения PySpark.
импортировать ОС
os.environ[‘PYSPARK_SUBMIT_ARGS’] = ‘–jars “C:\marklogic-spark-getting-started-2.0.0\marklogic-spark-connector-2.0.0.jar” pyspark-shell’

# Определите детали соединения для начального примера приложения.

client_uri = “spark-example-user:password@localhost:8020”

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

Интеграция с популярными платформами для совместной работы, такими как Microsoft Teams и Slack, знаменует собой важнейший шаг вперед в рабочих процессах обеспечения безопасности.

Мы представляем новую возможность публиковать события из Flowmon ADS в канал Teams или Slack для мгновенного уведомления групп безопасности. Скрипты интеграции основаны на простых веб-перехватчиках и готовы к использованию на нашем сайте.

# Инициализируем сеанс Spark.

из pyspark.sql импортировать SparkSession
искра = SparkSession.builder.master(“local[*]”).getOrCreate()
spark.sparkContext.setLogLevel(“ПРЕДУПРЕЖДАТЬ”)
искра
JavaScript
Этот сценарий позволяет Jupyter Notebook получить доступ к соединителю Spark и инициализировать Spark. Он возвращает следующий вывод в соответствии с конфигурациями сценария.

Примечание. Если Jupyter Notebook возвращает ошибку «нет модуля с именем «pyspark», запустите pip install pyspark в новой ячейке и попробуйте запустить сценарий еще раз. Кроме того, чтобы Jupyter Notebook мог найти источник данных, установите для файла .jar абсолютный путь, как в примере выше.

Оптические запросы

Spark Connector извлекает данные из MarkLogic с помощью запроса Optic DSL. Optic — это основной язык запросов MarkLogic, способный обрабатывать что угодно: от обычного SQL-запроса до сложного запроса с различными спецификациями. Когда MarkLogic получает запрос, Connector возвращает данные в виде строк. Это позволяет мгновенно применять данные к Apache Spark (для которого требуются данные в строках) без дальнейшего ввода со стороны пользователя. Когда соединитель получает данные из MarkLogic, он преобразует их в DataFrame Spark.

Запустите этот скрипт:

# Загрузите DataFrame и просмотрите первую строку.

df = spark.read.format(“com.marklogic.spark”) \
.option(“spark.marklogic.client.uri”, client_uri) \
.option(“spark.marklogic.read.opticQuery”, “op.fromView(‘example’, ’employee’, ”)”) \
.option(“spark.marklogic.read.numPartitions”, 1) \
.нагрузка()

df.head()
JavaScript
Этот сценарий преобразует документ сотрудника в MarkLogic в строки и создает кадр данных Spark. Вывод показывает первую строку данных.

API MarkLogic Optic поддерживает несколько типов запросов: от базовых до запросов к документам. Расширенный функционал Коннектора снимает любые ограничения возможных поисковых запросов. Чтобы получить доступ к оптическим запросам, выполняющим различные функции, прочтите о видах оптических запросов в нашей документации.

Перенос операций в MarkLogic

Соединитель создает эффективный процесс, передавая несколько операций MarkLogic. Распределяя рабочую нагрузку между Spark и MarkLogic, вся операция Как создать шаблон поста WordPress выполняется более плавно и снижает нагрузку на Spark.

Запустите этот скрипт, чтобы увидеть этот процесс в действии:

# Продемонстрируйте, как несколько операций передаются в MarkLogic.

из описания импорта pyspark.sql.functions
df.filter(“HiredDate < ‘2020-01-01′”) \
.groupBy(“Штат”, “Департамент”) \
.считать() \
.orderBy(desc(“count”)) \
.limit(10) \
.показывать()
JavaScript
В этом примере задачи показано, как просто пользователь может загрузить соединитель, выполнить запрос и загрузить Spark DataFrame, получив данные из MarkLogic с помощью нескольких скриптов Python.

Чтобы узнать больше о том, как Spark

Connector получает д alb directory оступ к данным из MarkLogic, посетите раздел «Чтение данных» для получения дополнительной информации. Чтобы протестировать сценарии в приведенном выше примере, посетите наш файл Jupyter Notebook.

Примечание. Если Jupyter Notebook возвращает сообщение об ошибке, перезапустите ядро ​​и запустите первый сценарий, чтобы инициализировать новый сеанс Spark.

 

Другие сценарии Spark
Spark Connector может загружать данные с различными конфигурациями для получения различных результатов. Вместо группировки документов сотрудников по «Штату» с ограничением «10», как в последнем скрипте, пользователь может группировать документы по «Городу» в алфавитном порядке с ограничением «5».

Запустите этот скрипт

Leave a comment

Your email address will not be published. Required fields are marked *