Изменить формат даты и времени, созданный с помощью операции make-series в Kusto - PullRequest
0 голосов
/ 01 апреля 2020

Введение:

В Azure Обозревателе данных имеется оператор make-series-Operator, который позволяет нам создавать серии указанных агрегированных значений вдоль указанной оси.

Где проблема:

Оператор работает хорошо, за исключением изменений в формате отметки времени. Например,

let resolution = 1d;
let timeframe = 3d;
let start_ts = datetime_add('second', offset, ago(timeframe));
let end_ts = datetime_add('second', offset, now());
Table
| make-series max(value) default=0 on timestamp from start_ts to end_ts step resolution by col_1, col_2

Текущие результаты:

Полученный результат содержит метку времени в UT C, как показано ниже

"max_value": [
    -2.69,
    -2.79,
    -2.69
],
"timestamp": [
    "2020-03-29T18:01:08.0552135Z",
    "2020-03-30T18:01:08.0552135Z",
    "2020-03-31T18:01:08.0552135Z"
],

Ожидаемый результат:

Результат должен быть следующим:

"max_value": [
    -2.69,
    -2.79,
    -2.69
],
"timestamp": [
    "2020-03-29 18:01:08",
    "2020-03-30 18:01:08",
    "2020-03-31 18:01:08"
],

Вопрос:

есть ли способ изменить формат даты и времени, сгенерированный в операции make-series в kusto, чтобы быть НЕ в формате UT C.

1 Ответ

2 голосов
/ 01 апреля 2020

есть ли способ изменить формат даты и времени, сгенерированный в операции make-series в kusto, на НЕ в формате UT C.

неясно, что вы определяете как «UT C Формат». Kusto / ADX использует стандарт ISO 8601 , а отметки времени всегда UT C. Вы можете видеть, что оно используется в вашем исходном сообщении, например 2020-03-29T18:01:08.0552135Z.

, если по какой-либо причине вы хотите представить значения даты и времени в другом формате, внутри столбца динамического c (массив или это можно сделать, используя mv-apply и format_datetime():

print arr = dynamic(
[
    "2020-03-29T18:01:08.0552135Z",
    "2020-03-30T18:01:08.0552135Z",
    "2020-03-31T18:01:08.0552135Z"
])
| mv-apply arr on (
    summarize make_list(format_datetime(todatetime(arr), "yyyy-MM-dd HH:mm:ss"))
)
...