Список свойств SerDe для AWS Athena (JSON)
Я тестирую продукт Афины от AWS, и пока он работает очень хорошо. Но я хочу знать список свойств SerDe. Я искал далеко и широко и не мог найти это. Я использую это например "ignore.malformed.json" = "true"
, но я почти уверен, что есть множество других опций для настройки запросов.
Например, я не смог найти информацию о том, что делает свойство path, поэтому наличие полного списка будет удивительным.
Я посмотрел документы Apache Hive, но не смог найти этого, а также документы и форумы AWS.
Спасибо!
1 ответ
Кажется, вы используете Openx-JsonSerDe
http://docs.aws.amazon.com/athena/latest/ug/json.html
// properties used in configuration
public static final String PROP_IGNORE_MALFORMED_JSON = "ignore.malformed.json";
public static final String PROP_DOTS_IN_KEYS = "dots.in.keys";
public static final String PROP_CASE_INSENSITIVE ="case.insensitive" ;
Как указано в примечаниях к выпуску (см. П. № 2, пожалуйста), JSON OpenX SerDe, используемый в Athena, был улучшен. Улучшения включают, но не ограничиваются следующим:
- Поддержка свойства ConvertDotsInJsonKeysToUnderscores. Если установлено значение TRUE, SerDe позволяет заменить точки в именах клавиш подчеркиванием. Например, если набор данных JSON содержит ключ с именем "ab", вы можете использовать это свойство, чтобы определить имя столбца как "a_b" в Афине. Значением по умолчанию является ЛОЖЬ. По умолчанию Афина не допускает точек в именах столбцов.
- Поддержка case.insensitive свойства. По умолчанию Athena требует, чтобы все ключи в вашем наборе данных JSON использовали строчные буквы. Использование WITH SERDE PROPERTIES ("case.insensitive"= FALSE;) позволяет использовать регистрозависимые имена ключей в ваших данных. Значением по умолчанию является ИСТИНА. Когда установлено значение TRUE, SerDe преобразует все прописные столбцы в строчные.
Для получения дополнительной информации см. OpenX JSON SerDe в Руководстве пользователя Amazon Athena.