エラーの理由:
AS
この特定のエラーは、次の欠落が原因で発生していますcount(formatedTs)
(これはエラー メッセージにも示されます。
mismatched input 'group' expecting {'*', '+', '-', '/', '%', '<',
'<=', '>', '>=', '==', '!=', AS, OR, AND, IN}
クエリ コンパイラgroup
は、 が見つからないために間違った場所にあると考えますAS
)
要修正:
したがって、select
ステートメントは、次のように修正する必要があります。
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs, count(formatedTs) as tsCount
あなたが必要とするかもしれないさらなる修正:
また、 にはinputStream
という名前の属性がありますformatedTs
か? そうでない場合、ステートメントを修正した後select
、次のような別のエラーが発生します。
「formatedTs」が「inputStream」に存在しないため、属性タイプが見つかりません
カウントする属性はinputStream
その場合は、次のクエリ (正常にコンパイルされるはずです) が役立つ場合があります。
from inputStream
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs, count(ts) as countTs
group by ts
insert into outputStream;
アップデート
書式設定されたタイムスタンプでグループ化する必要があるため、クエリを更新します。
from inputStream
select time:dateFormat(ts,'yyyy-MM-dd HH:mm') as formatedTs
insert into innerStream;
from innerStream
select formatedTs, count(formatedTs) as countTs
group by formatedTs
insert into outStream;