選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

Hive JSON SerDe

焦點模式
Hive JSON SerDe - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Hive JSON SerDe 經常用來處理事件等 JSON 資料。這些事件以 JSON 編碼文字 (以新行分隔) 的單行字串表示。Hive JSON SerDe 不允許在 mapstruct 索引鍵名稱中使用重複的索引鍵。

注意

SerDe 預期每筆 JSON 文件都以單行文字表示,而且沒有行終止字元分隔記錄中的欄位。如果 JSON 文字是美化過的列印格式,則在建立資料表後嘗試在其中查詢時可能會收到下列錯誤訊息:HIVE_CURSOR_ERROR: Row is not a valid JSON Object (HIVE_CURSOR_ERROR:資料列不是有效的 JSON 物件) 或 HIVE_CURSOR_ERROR: JsonParseException: Unexpected end-of-input: expected close marker for OBJECT (HIVE_CURSOR_ERROR:JsonParseException:非預期的輸入結束:預期為 OBJECT 的關閉標記)。如需詳細資訊,請參閱 GitHub 上 OpenX SerDe 文件中的 JSON 資料檔案

下列 DDL 陳述式範例使用 Hive JSON SerDe,以根據線上廣告資料範例建立資料表。在 LOCATION 子句中,請以您執行 Athena 所在位置的區域識別符 (例如 s3://us-west-2.elasticmapreduce/samples/hive-ads/tables/impressions) 來取代 s3://amzn-s3-demo-bucket.elasticmapreduce/samples/hive-ads/tables/impressions 中的 myregion

CREATE EXTERNAL TABLE impressions ( requestbegintime string, adid string, impressionid string, referrer string, useragent string, usercookie string, ip string, number string, processid string, browsercookie string, requestendtime string, timers struct < modellookup:string, requesttime:string >, threadid string, hostname string, sessionid string ) PARTITIONED BY (dt string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATION 's3://amzn-s3-demo-bucket.elasticmapreduce/samples/hive-ads/tables/impressions';

使用 Hive JSON SerDe 指定時間戳記格式

若要從字串中剖析時間戳記值,您可以將 WITH SERDEPROPERTIES 子欄位新增至 ROW FORMAT SERDE 子句並使用它來指定 timestamp.formats 參數。在參數中,指定一個或多個時間戳記模式的逗號分隔清單,如下範例所示:

... ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' WITH SERDEPROPERTIES ("timestamp.formats"="yyyy-MM-dd'T'HH:mm:ss.SSS'Z',yyyy-MM-dd'T'HH:mm:ss") ...

如需詳細資訊,請參閱 Apache Hive 文件中時間戳記

載入要查詢的資料表

建立資料表後,請執行 MSCK REPAIR TABLE 以載入資料表,並讓其可從 Athena 查詢:

MSCK REPAIR TABLE impressions

查詢 CloudTrail 日誌

您可以使用 Hive JSON SerDe 來查詢 CloudTrail 日誌。如需詳細資訊和範例 CREATE TABLE 陳述式,則請參閱 查詢 AWS CloudTrail 日誌

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。