Я новичок в nifi, и я хочу подключить базу данных SQL-сервера к nifi и создать поток данных с процессорами. как я могу это сделать, может кто-нибудь Помогите мне с этим ясно.
Спасибо заранее, сэм
Я новичок в nifi, и я хочу подключить базу данных SQL-сервера к nifi и создать поток данных с процессорами. как я могу это сделать, может кто-нибудь Помогите мне с этим ясно.
Спасибо заранее, сэм
Вот две отличные статьи о получении информации в базах данных и из них с помощью NiFi:
Они описывают / иллюстрируют, как настроить DBCPConnectionPool для обеспечения подключения к СУБД и примеры потоков для извлечения и приема данных.
Расширение ответ от mattyb
Если вы используете последнюю версию песочницы Hortonworks или другую установку, в которой используются контейнеры докеров, прочтите ниже.
Вам необходимо установить файл JDBC jar внутри докера. Для SQL Server это должно быть 6.2 или выше.
docker ps
docker exec -it <mycontainer uuid> bash
Как мне попасть в оболочку контейнера Docker? поможет вам войти в контейнер.
cd file:///usr/lib/jvm/jre/lib/
mkdir jdbc
cd ./jdbc
wget https://download.microsoft.com/download/3/F/7/3F74A9B9-C5F0-43EA-A721-07DA590FD186/sqljdbc_6.2.2.0_enu.tar.gz
tar xvzf sqljdbc_6.2.2.0_enu.tar.gz
cp ./sqljdbc_6.2/enu/mssql-jdbc-6.2.2.jre8.jar ./
jdbc:sqlserver://192.168.1.201:1433;databaseName=[your database]
com.microsoft.sqlserver.jdbc.SQLServerDriver
Возможно, вам потребуется заменить IP-адрес на IPv4-адрес вашего хоста, который находится в ipconfig
в Windows или ifconfig
в Mac / Linux.
Вы можете изменить file:///usr/lib/jvm/jre/lib/
на любой желаемый путь.
Расширение ответа TamusJRoyce
Если вы запускаете nifi через образ докера, например apache/nifi
, или вышеупомянутую песочницу Hortonworks, следующее должно помочь вам получить требуемый драйвер в образ, чтобы вам не приходилось exec
в контейнер, чтобы сделать это вручную.
См. Комментарии под файлом докера
FROM apache/nifi
USER root
RUN mkdir /lib/jdbc
WORKDIR /lib/jdbc
RUN wget https://download.microsoft.com/download/3/F/7/3F74A9B9-C5F0-43EA-A721-07DA590FD186/sqljdbc_6.2.2.0_enu.tar.gz
RUN tar xvzf sqljdbc_6.2.2.0_enu.tar.gz
RUN cp ./sqljdbc_6.2/enu/mssql-jdbc-6.2.2.jre8.jar ./
USER nifi
EXPOSE 8080 8443 10000 8000
WORKDIR ${NIFI_HOME}
ENTRYPOINT ["../scripts/start.sh"]
apache/nifi
в качестве базового изображения. Вы можете использовать любой образ докера nifi, имеющий базу, если хотите.lib/jdbc
, просто помните, что вам нужно использовать это как ссылку для местоположения файла, чтобы на него ссылались как на file:///lib/jdbc/mssql-jdbc-6.2.2.jre8.jar