クエリと分析中に、タイムスタンプを指定形式に変換するなど、ログの時間フィールドを処理する必要があることがよくあります。 本ページでは、いくつかの例を用いて時間フィールドを変換する方法を説明します。
ログには、時間を記録する複数のフィールドが含まれる場合があります。 例:
__time__
: API または SDK を使用してログデータを書き込むときに指定するログ時間。 このフィールドは、ログデータの送信、クエリ、および分析に使用できます。- ログの元の時間フィールド: ログが生成されるときにログイベントの発生時間を記録するフィールド。 このフィールドは生ログにあります。
時間フィールドの形式が異なると、表示も読み取りも困難になります。 この場合、クエリと分析の時間フィールドの指定形式に変換できます。 例:
__time__ をタイムスタンプに変換
__time__ を指定形式で表示
__time__
フィールドを YYYY-MM-DD HH:MM:SS
形式で表示します。 date_format 関数を使用してフィールドを変換することを推奨します。
* | select date_format(__time__, '%Y-%m-%d %H:%i:%S')
ログの時刻を指定形式に変換
ログの時間フィールドを指定形式 (
YYYY-MM-DD HH:MM:SS
) に変換し、YYYY-MM-DD
部分に対してGROUP BY 操作を実行します。 date_format 関数を使用してフィールドを変換することを推奨します。
- サンプルログ:
__topic__: body_byte_sent: 307 hostname: www.host1.com http_user_agent: Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Mobile/14G60 QQ/7.1.8.452 V1_IPH_SQ_7.1.8_1_APP_A Pixel/750 Core/UIWebView NetType/WIFI QBWebViewType/1 method: GET referer: www.host0.com remote_addr: 36.63.1.23 request_length: 111 request_time: 2.705 status: 200 upstream_response_time: 0.225582883754 url: /? k0=v9& time:2017-05-17 09:45:00
- SQL 文の例:
* | select date_format (date_parse(time,'%Y-%m-%d %H:%i:%S'), '%Y-%m-%d') as day, count(1) as uv group by day order by day asc