Spring xd файл как источник не работает в случае потока

Я пытаюсь использовать spring xd для чтения из файла в качестве источника и помещать данные в jdbc, я пробовал пакетное задание filejdbc, используя следующее:

xd:>job create csvtojdbc --definition "filejdbc --resources=file:\Batch\sourcecsv.csv --names=id,name,gender --tableName=csvfiletomysql_tbl2 --username=bigdata --password=bigdata --delimiter=, --url=jdbc:mysql://localhost:3306/test --driverClassName=com.mysql.jdbc.Driver --initializeDatabase=true" --deploy

Он работал правильно, но проблема в том, что он не работает (файл как источник) в случае потоков, я пробовал и это, но это тоже не сработало.

xd:>stream create sourcecsv --definition "file --outputType=text/plain | json-to-tuple |jdbc --columns=id,name,gender --tableName=csvfiletomysql_tbl3 --username=bigdata --password=bigdata --url=jdbc:mysql://localhost:3306/test --driverClassName=com.mysql.jdbc.Driver --initializeDatabase=true" --deploy

person Mohammad Abu Shaera    schedule 03.07.2015    source источник
comment
Вы можете игнорировать эту часть --outputType=text/plain | json-to-tuple в любом случае не работает!!   -  person Mohammad Abu Shaera    schedule 03.07.2015


Ответы (1)


«Это не работает» — это просто недостаточно информации, чтобы кто-то мог вам помочь. Включите ведение журнала DEBUG для контейнера; если вы все еще не можете понять это, опубликуйте журнал где-нибудь.

Также необходимо предоставить информацию о версии.

По умолчанию источник файла выдает весь файл как одно сообщение; если у вас есть несколько строк, вам нужно разделить их.

исходный файл 1.2 имеет mode=lines чтобы выдать каждую строку как одно сообщение.

person Gary Russell    schedule 03.07.2015
comment
Спасибо Грей за ответ, я использую 1.2.0 Spring XD Release. - person Mohammad Abu Shaera; 04.07.2015
comment
Спасибо Грей за ответ, я использую 1.2.0 Spring XD Release. Я использую xd single node, MySQL установлен на моем ПК. Я нашел драйвер MySQL в папке xd/lib. Я отредактировал файл server.yml и изменил конфигурацию MySQL следующим образом: spring: datasource: url: jdbc:mysql://localhost:3306/test username: bigdata password: bigdata driverClassName : com.mysql.jdbc.Driver validationQuery: выберите 1 - person Mohammad Abu Shaera; 04.07.2015
comment
Я думаю, что нет проблем с драйвером и конфигурацией MySQL, потому что он работает, когда я выполняю пакетное задание пользователя. Файл представляет собой разделитель запятых в файле csv 1 Moha Male 2 Manal Female 3 Sami Male, когда я выполнил приведенный ниже поток xd:›stream create sourcecsv --definition file --mode=lines |jdbc --columns=id,name,gender - -tableNa me=csvfiletomysql_tbl --username=bigdata --password=bigdata --url=jdbc:mysql://localhost:3306/test --driverClassName=com.mysql.jdbc.Driver --initializeDatabase=true --deploy структура таблицы создана, но без данных.!! Сервер не показывал никаких ошибок. - person Mohammad Abu Shaera; 04.07.2015
comment
Нет ошибки сервера. Журнал слишком длинный, чтобы его прикрепить. - person Mohammad Abu Shaera; 04.07.2015
comment
CSV-файл находится по пути по умолчанию /tmp/xd/input. - person Mohammad Abu Shaera; 04.07.2015
comment
Как я уже сказал, вам нужно включить ведение журнала DEBUG для одиночного узла и опубликовать журнал где-нибудь, если вы не можете понять это самостоятельно. Если журнал слишком велик для публикации здесь, вам нужно найти его где-нибудь еще (например, pastebin или гитхаб). - person Gary Russell; 04.07.2015