首页 > 解决方案 > 使用动态 JSON Schema 在 Hive 中加载 Json 文件

问题描述

我正在尝试将yelp_business JSON 加载到 hive 表中,但无法在 hive 中为这个 json 文件创建模式。请让我知道如何在 hive 中为以下内容创建模式。根据业务的不同,hive 中的属性会发生变化,我在创建表时使用 json serde。

{
    "business_id": "8-NRKkPY1UiFXW20WXKiXg",
    "name": "Filiberto's Mexican Food",
    "neighborhood": "",
    "address": "1440 N. Dysart Ave",
    "city": "Avondale",
    "state": "AZ",
    "postal_code": "85323",
    "latitude": 33.4481059352,
    "longitude": -112.341302074,
    "stars": 2.5,
    "review_count": 40,
    "is_open": 1,
    "attributes": {
        "Alcohol": "none",
        "Ambi
        ence": "{'romantic': False, 'intimate': False, 'classy': False, 'hipster': False, 'divey': False, 'touristy': False, 'trendy': False, 'upscale': False, 'c
        asual': True}",
        "BikeParking": "True",
        "BusinessAcceptsCreditCards": "True",
        "BusinessParking": "{'garage': False, 'street': False, 'validated': False, 'lot':
        True, 'valet': False}",
        "Caters": "False",
        "GoodForKids": "True",
        "GoodForMeal": "{'dessert': False, 'latenight': True, 'lunch': False, 'dinner': False, 'break
        fast': False, 'brunch': False}",
        "HasTV": "False",
        "NoiseLevel": "average",
        "OutdoorSeating": "False",
        "RestaurantsAttire": "casual",
        "RestaurantsDelivery": "False
        ",
        "RestaurantsGoodForGroups": "True",
        "RestaurantsPriceRange2": "1",
        "RestaurantsReservations": "False",
        "RestaurantsTableService": "False",
        "RestaurantsTakeOut"
        : "True",
        "WheelchairAccessible": "True",
        "WiFi": "no"
    },
    "categories": "Mexican, Restaurants",
    "hours": {
        "Monday": "0:0-0:0",
        "Tuesday": "0:0-0:0",
        "Wednesday": "0:0-0
        :0",
        "Thursday": "0:0-0:0",
        "Friday": "0:0-0:0",
        "Saturday": "0:0-0:0",
        "Sunday": "0:0-0:0"
    }
}
{
    "business_id": "UTm5QZThPQlT35mkAcGOjg",
    "name": "Maggie & Stella's Gifts",
    "neighborhood": "Oakland",
    "address": "209 Oakland Ave",
    "city": "Pittsburgh",
    "state"
    : "PA",
    "postal_code": "15213",
    "latitude": 40.4414214,
    "longitude": -79.9564571,
    "stars": 3.5,
    "review_count": 3,
    "is_open": 1,
    "attributes": {
        "BikeParking": "True",
        "Bu
        sinessAcceptsCreditCards": "True",
        "BusinessParking": "{'garage': False, 'street': False, 'validated': False, 'lot': False, 'valet': False}",
        "RestaurantsPri
        ceRange2": "2"
    },
    "categories": "Flowers & Gifts, Gift Shops, Shopping",
    "hours": {
        "Monday": "9:0-18:0",
        "Tuesday": "9:0-18:0",
        "Wednesday": "9:0-18:0",
        "Thursday": "
        9:0-18:0",
        "Friday": "9:0-17:0",
        "Saturday": "10:0-17:0"
    }
}

标签: hivehiveql

解决方案


Hive 不处理动态模式。

您可以做的是提供天气适用与否的所有属性。


推荐阅读