Установка схемы в качестве аргумента времени выполнения в Datafusion wrangler не работает - PullRequest
0 голосов
/ 17 февраля 2020

У нас есть требование передать выходную схему wrangler в качестве аргументов времени выполнения.

Ниже приведены форматы, которые мы пробовали, но, похоже, ничего не работает, может кто-нибудь подсказать нам, как предоставить схему как аргумент времени выполнения через пользовательский интерфейс или вызов API Rest

[
    {
        "name": "etlSchemaBody",
        "schema": {
            "type": "record",
            "name": "etlSchemaBody",
            "fields": [
                {
                    "name": "body_1",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                {
                    "name": "body_2",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                {
                    "name": "body_3",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                {
                    "name": "body_4",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                {
                    "name": "body_5",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            ]
        }
    }
]
"{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"body_1\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_2\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_3\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_4\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_5\",\"type\":[\"string\",\"null\"]}]}"

1 Ответ

0 голосов
/ 02 марта 2020

Вместо

"{\"type\":\"record\",\"name\":\"etlSchemaBody\",\"fields\":[{\"name\":\"body_1\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_2\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_3\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_4\",\"type\":[\"string\",\"null\"]},{\"name\":\"body_5\",\"type\":[\"string\",\"null\"]}]}"

используйте

{"type":"record","name":"etlSchemaBody","fields":[{"name":"body_1","type":["string","null"]},{"name":"body_2","type":["string","null"]},{"name":"body_3","type":["string","null"]},{"name":"body_4","type":["string","null"]},{"name":"body_5","type":["string","null"]}]}

в качестве значения для макроса схемы.

Я предполагаю, что работа вашего конвейера завершилась с ошибкой JSON ошибка.

Если это не сработает, пожалуйста, опубликуйте журналы с конвейера.

...