Преобразование BLOB-объекта JSON в дружественный формат BQ с помощью JQ - PullRequest
0 голосов
/ 12 февраля 2019

Честно говоря, у меня практически нет опыта работы с JSON, JQ или многим другим на стороне Java.Я потратил много времени, пытаясь использовать функцию командной строки jq, чтобы правильно отформатировать тестовый блок данных таким образом, чтобы его можно было легко вставить в Google BigQuery.

{
    "total_items": 848,
    "page_count": 34,
    "items": [
        {
            "landing_id": "708d9e3eb106820f98162d879198774b",
            "token": "708d9e3eb106820f98162d879198774b",
            "response_id": "708d9e3eb106820f98162d879198774b",
            "landed_at": "2019-02-12T01:58:02Z",
            "submitted_at": "2019-02-12T01:58:31Z",
            "metadata": {
                "user_agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3560.98 Safari/537.36",
                "platform": "other",
                "referer": "https://test.typeform.com/to/LTYE9W?prefilled_answer=8&email=test.x20a@gmail.com",
                "network_id": "35b9eae170",
                "browser": "default"
            },
            "answers": [
                {
                    "field": {
                        "id": "fX64BkjuxYy1",
                        "type": "opinion_scale",
                        "ref": "97f8e18ad06a02e6"
                    },
                    "type": "number",
                    "number": 8
                },
                {
                    "field": {
                        "id": "lYeFxbL67g8B",
                        "type": "multiple_choice",
                        "ref": "78d09e15-7d42-49ec-9f9d-004bf7d3058a"
                    },
                    "type": "choices",
                    "choices": {
                        "labels": [
                            "Experience"
                        ]
                    }
                },
                {
                    "field": {
                        "id": "D3ubKSVfNnlY",
                        "type": "multiple_choice",
                        "ref": "684cb3bd-09cb-4f27-8e7d-baef6a09f787"
                    },
                    "type": "choices",
                    "choices": {
                        "labels": [
                            "Condition"
                        ]
                    }
                },
                {
                    "field": {
                        "id": "UccviSuUQPio",
                        "type": "yes_no",
                        "ref": "ed7e0d9c-5b62-4b0f-9395-54a53d125711"
                    },
                    "type": "boolean",
                    "boolean": false
                }
            ],
            "hidden": {
                "email": "test.x20a@gmail.com"
            }
        }
        ]
}

Я использовал этот учебник, но безуспешно, и он невероятно расстраивает

Предположим, мне нужны все поля, но я хочу избавиться от верхней части, включающей total_itemsи page_count.По сути, все начинается с landing_id.Я прошу прощения за то, что не углублялся в мои предыдущие попытки дать вам все базовые данные, но я просто нигде не получил.

1 Ответ

0 голосов
/ 13 февраля 2019

Для данного примера:

 jq -c  .items[] lala.json  > lala.jq.json

Затем вы можете загрузить в BigQuery:

 bq load --source_format NEWLINE_DELIMITED_JSON --autodetect fh-bigquery:deleting.testjson lala.jq.json

И тогда он будет готов к запросу:

enter image description here

Обратите внимание, что отсутствует ответ от «пика» пользователя -c и [] для управления выводом и разбиения на различные элементы массива.

...