Ошибка: Не удается десериализовать экземпляр java.util.LinkedHashMap из маркера START_ARRAY в [Источник: N/A; строка: -1, столбец: -1]

#java #csv #azure-blob-storage

#Ява #csv #azure-хранилище больших двоичных объектов

Вопрос:

Я пытаюсь получить данные CSV из хранилища больших двоичных объектов Azure с помощью Embulk.

Я получаю следующую ошибку, пожалуйста, скажите мне, как ее решить.

Я не знаю, что вызвало ошибку.

Казалось, что ссылка на CSV была сделана.

Результат выполнения команды Embulk

 PS C:UsersXXXXXXgt; C:UsersXXXXXXEmbulk_bundleembulk.bat run -b C:UsersXXXXXXXEmbulk_bundlebundle C:UsersXXXXXXEmbulk_bundleconfigsample.yml 2021-12-03 13:46:09.802  0900: Embulk v0.9.23 2021-12-03 13:46:10.888  0900 [WARN] (main): DEPRECATION: JRuby org.jruby.embed.ScriptingContainer is directly injected. 2021-12-03 13:46:13.686  0900 [INFO] (main): BUNDLE_GEMFILE is being set: "C:UsersXXXXXXEmbulk_bundlebundleGemfile" 2021-12-03 13:46:13.694  0900 [INFO] (main): Gem's home and path are being cleared. 2021-12-03 13:46:15.513  0900 [INFO] (main): Started Embulk v0.9.23 2021-12-03 13:46:15.701  0900 [INFO] (0001:transaction): Loaded plugin embulk-input-azure_blob_storage (0.3.1) 2021-12-03 13:46:15.801  0900 [INFO] (0001:transaction): Loaded plugin embulk-output-postgresql (0.9.0) 2021-12-03 13:46:16.526  0900 [INFO] (0001:transaction): add file to the request list: XXXXXX/XXXXXXX/20211115/part-00000-tid-8457700275164717816-fc017e47-6ecb-46aa-be90-60e0a3847af7-1521-1-c000.csv.gz 2021-12-03 13:46:16.608  0900 [INFO] (0001:transaction): Using local thread executor with max_threads=4 / output tasks 2 = input tasks 1 * 2 org.embulk.exec.PartialExecutionException: org.embulk.config.ConfigException: java.lang.IllegalArgumentException: Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token  at [Source: N/A; line: -1, column: -1]  at org.embulk.exec.BulkLoader$LoaderState.buildPartialExecuteException(BulkLoader.java:340)  at org.embulk.exec.BulkLoader.doRun(BulkLoader.java:566)  at org.embulk.exec.BulkLoader.access$000(BulkLoader.java:35)  at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:353)  at org.embulk.exec.BulkLoader$1.run(BulkLoader.java:350)  at org.embulk.spi.Exec.doWith(Exec.java:22)  at org.embulk.exec.BulkLoader.run(BulkLoader.java:350)  at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:242)  at org.embulk.EmbulkRunner.runInternal(EmbulkRunner.java:291)  at org.embulk.EmbulkRunner.run(EmbulkRunner.java:155)  at org.embulk.cli.EmbulkRun.runSubcommand(EmbulkRun.java:431)  at org.embulk.cli.EmbulkRun.run(EmbulkRun.java:90)  at org.embulk.cli.Main.main(Main.java:64)  Suppressed: java.lang.NullPointerException  at org.embulk.exec.BulkLoader.doCleanup(BulkLoader.java:463)  at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:397)  at org.embulk.exec.BulkLoader$3.run(BulkLoader.java:394)  at org.embulk.spi.Exec.doWith(Exec.java:22)  at org.embulk.exec.BulkLoader.cleanup(BulkLoader.java:394)  at org.embulk.EmbulkEmbed.run(EmbulkEmbed.java:245)  ... 5 more   

Образец CSV в Azure

 Mesh100ID,CityOaza,Pref,Dim5,YamaLine,WeekDate,cnt_All,cnt_OK,cnt_NG,cnt_AOK,cnt_ANG,cnt_LOK,cnt_LNG,cnt_G,cnt_S,_G_RATE,La_OT,wkt 36225769203,XXXXXX,XXXX,XXXXX,,9999/11/08,1,0,0,0,0,1,0,0,0,0.0,0,"POLYGON ((122.9975 24.4666666666667, 122.99875 24.4666666666667, 122.99875 24.4675, 122.9975 24.4675, 122.9975 24.4666666666667))" 36233720112,XXXXX,XXXXXX,XXX,,9999/11/08,1,0,0,0,0,1,0,0,0,0.0,0,"POLYGON ((123.8775 24.2675, 123.87875 24.2675, 123.87875 24.2683333333333, 123.8775 24.2683333333333, 123.8775 24.2675))"   

Комментарии:

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

Ответ №1:

Ошибка Can not deserialize instance of java.util.LinkedHashMap out of START_ARRAY token в том , что, вероятно, ваша конфигурация неверна. Проверьте свою конфигурацию еще раз.

Ожидаемое значение (Хэш)

 key: value  

(Может быть) Ваша конфигурация. (неверно)

 - key: value