Настройка Databricks CE

Абстрактный

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

Файлы записных книжек, использованные в этой серии статей, доступны на GitHub в форматах DBC, HTML и iPython.

Введение

Несмотря на технологические достижения недавнего прошлого, мошенничество остается проблемой для многих финансовых учреждений по всему миру. Поскольку за последние несколько лет я несколько раз становился жертвой мошенничества с кредитными картами, проблема финансового мошенничества очень близка мне. В этой статье мы рассмотрим пример того, как мы можем хранить некоторые данные о транзакциях по кредитным картам в SingleStore и использовать возможности машинного обучения Spark для разработки модели логистической регрессии для прогнозирования финансового мошенничества. Мы создадим все в облаке, используя SingleStore Managed Service и Databricks Community Edition (CE) для простоты использования.

Для начала нам нужно создать бесплатную учетную запись Managed Service на веб-сайте SingleStore и бесплатную учетную запись Community Edition (CE) на веб-сайте Databricks. На момент написания этой статьи учетная запись Managed Service от SingleStore имеет кредиты на сумму 500 долларов США. Этого более чем достаточно для случая, описанного в этой статье. Для Databricks CE нам необходимо зарегистрировать бесплатную учетную запись, а не пробную версию.

Это серия статей, состоящая из нескольких частей, и она структурирована следующим образом:

  1. Настроить Databricks CE.
  2. Загрузить данные кредитной карты в SingleStore.
  3. Создать и оценить модель логистической регрессии.

В этой первой статье рассматривается часть 1, Настройка блоков данных CE.

Настройка блоков данных CE

Во-первых, нам нужно войти в нашу учетную запись Databricks CE.

На левой панели навигации выберите Вычислить (1), а затем + Создать кластер (2), как показано на рис. 1.

На странице Создать кластер мы дадим кластеру имя (1) и выберем 7.3 LTS ML (2) для Версии среды выполнения. , как показано на рисунке 2.

Затем мы нажмем кнопку Создать кластер, как показано на рис. 3.

Через некоторое время рядом с именем кластера (1) должен появиться сплошной зеленый шар, как показано на рис. 4. Затем мы нажмем ссылку Библиотеки (2).

Мы нажмем Установить новый на странице библиотек, как показано на рисунке 5.

В разделе Установить библиотеку выберите Maven (1), а затем Поиск пакетов (2), как показано на рис. 6.

Мы выберем Maven Central (1) и введем в поле поиска singlestore (2). Должен появиться список пакетов, как показано на рисунке 7. Как показано , выберем самую старшую версию коннектора для Spark (3).

Теперь мы нажмем Установить, как показано на рисунке 8.

После небольшой задержки разъем должен быть установлен, как показано на рисунке 9.

Чтобы правильно настроить среду Databricks для SingleStore, также требуется драйвер JDBC MariaDB. Скачал файл JAR с сайта загрузки MariaDB. На момент написания этой статьи последней версией была Java 8 Connector/J 2.7.4.

Мы снова выберем Установить новый, чтобы загрузить JAR-файл MariaDB JDBC, упомянутый выше. На рис. 10 мы можем либо перетащить JAR-файл туда, где указано Перетащите JAR-файл сюда, либо использовать файловый браузер, чтобы найти JAR-файл.

После успешной загрузки файла JAR рядом с файлом должна стоять галочка (1), и его можно установить (2), как показано на рисунке 11.

После небольшой задержки файл JAR должен быть установлен, как показано на рисунке 12.

Все необходимые библиотеки установлены, поэтому теперь мы можем создать новую записную книжку Python, выбрав Рабочая область на левой панели навигации, а затем развернув ее, как показано на рис. 13.

Мы назовем этот блокнот Setup (1), а затем Create (2), как показано на рисунке 14.

Блокнот должен открыться, как показано на рисунке 15.

Мы можем ввести следующее в ячейку кода, как показано на рисунке 16.

server = "<TO DO>"
password = "<TO DO>"
port = "3306"
cluster = server + ":" + port

<TO DO> для сервера и пароля следует заменить значениями, полученными из управляемой службы SingleStore при создании кластера. Напоминаем, что мы можем создать учетную запись управляемой службы, следуя разделу Зарегистрируйтесь, чтобы начать работу в предыдущей статье.

Наконец, управляемая служба SingleStore предоставляет брандмауэр. Поэтому нам нужно добавить общедоступный IP-адрес кластера Databricks CE на AWS в брандмауэр, чтобы разрешить входящие подключения к SingleStore. Чтобы найти общедоступный IP-адрес кластера Databricks CE на AWS, мы можем использовать некоторый код Python в записной книжке. Например:

hostname =  spark.conf.get("spark.databricks.clusterUsageTags.driverPublicDns")
address = hostname.split(".")[0]
address = address.replace("ec2-", "")
address = address.replace("-", ".")
print(address)

Резюме

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

Мы загрузим данные кредитной карты в нашу среду Spark в следующей статье. Мы также сравним производительность SingleStore Spark Connector с JDBC для загрузки наших данных в SingleStore из Spark.