1
でJSONを使用した場合、アレイ内のタグでフィルタリングする方法。 私がスノーフレークのタグとJSON配列を使用する必要があります表示されます。私はすべての時系列の各時点は、タグの任意のセットで標識された時系列、数百万を保存するスノーフレーク
CREATE TABLE timeseries (obj_id INT, ts DATE, tags VARIANT, val INT)
INSERT INTO timeseries (obj_id, ts, tags, val) VALUES (442243, '2017-01-01', parse_json('["red", "small", "cheap"]'), 1)
INSERT INTO timeseries (obj_id, ts, tags, val) VALUES (673124, '2017-01-01', parse_json('["red", "small", "expensive"]'), 2)
INSERT INTO timeseries (obj_id, ts, tags, val) VALUES (773235, '2017-01-01', parse_json('["black", "small", "cheap"]'), 3)
今、私は、例えば、「小」AND「安い」とラベルされたすべての時系列の平均を見たいです
返すSELECT ts, AVG(val)
FROM timeseries
WHERE "small" IN tags AND "cheap" IN tags
GROUP BY ts
:
ts, avg(val)
2017-01-01, 2
、それを達成するために、右スノーフレーク構文/スキーマ/アプローチは何ですか? 注:私は、行を爆発させたくないので、私はちょうど「安い」と「小さい」でないすべての行を除外したいと思います。
ありがとうございます!私はそれを試してみましょう! –
ARRAY_CONTAINSはAndreyのデータロード方法、btwでも動作するはずです。 –
本当に!その機能は、先週のSnowflakeで利用できるようになりました:) –