問題タブ [clickhouse]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
9175 参照

sql - ClickHouse で時間バケットごとにグループ化し、不足しているデータを null/0 で埋める方法

与えられた時間範囲があるとします。説明のために、2018 年全体のような単純なものを考えてみましょう。結果が 4 行になるように、各四半期の合計集計として ClickHouse からデータをクエリしたいのです。

問題は、2 つの四半期のデータしかないため、 を使用するGROUP BY quarterと 2 行しか返されないことです。

15147612002018-01-01
15462108002018-12-31

これは以下を返します:

そして、私は必要です:

これは単純化された例ですが、実際の使用例では、集計は次のようになります。四半期の代わりに 5 分と GROUP BY には、次のような属性が少なくとも 1 つあるGROUP BY attribute1, timeため、望ましい結果は次のとおりです。

与えられた間隔全体をどうにかして埋める方法はありますか? InfluxDB にはfillグループまたは TimescaleDb のtime_bucket()関数の引数があるようgenerate_series() に、ClickHouse のドキュメントと github の問題を検索しようとしましたが、これはまだ実装されていないようなので、問題はおそらく回避策があるかどうかです。

0 投票する
0 に答える
1725 参照

database - ClickHouse 分散テーブルのフィルターが失敗した場所での個別の選択

分散テーブルでクエリをテストしているときに問題が発生しました。

SQL は次のようになります。

「on_time.ontime_all」は、OriginCityName、OriginStateName などの列を持つ分散テーブルです。そしてエラー:

ただし、SQL に対して次のいずれかを実行すると、エラーは消えます。

  • 個別に削除
  • where句を削除する
  • where を prewhere に置き換えます
  • where句の「OriginStateName」列を選択部分にも追加します
  • 選択部分をに変更select distinct *

この種の SQL は私のアプリケーションにとって重要です。それはバグですか、それとも ClickHouse の制限ですか? どうもありがとうございました。

0 投票する
2 に答える
5613 参照

clickhouse - サーバー localhost:9000、::1 からの予期しないパケット

https://github.com/Altinity/clickhouse-rpm-installの指示に従ってクリックハウスをインストールしました。

/etc/clickhouse-server/config.xml で :: も有効にしました。

以下のようにうまく起動しました。

sudo /etc/init.d/clickhouse-server restart clickhouse-server サービスを開始します: /etc/clickhouse-server/config.xml 内のデータ ディレクトリへのパス: /var/lib/clickhouse/ DONE

しかし、クライアントを起動すると、次のように失敗します。

sudo clickhouse-client ClickHouse クライアント バージョン 1.1.54383。localhost:9000 に接続しています。コード: 102. DB::NetException: サーバーからの予期しないパケット localhost:9000、::1 (予期される Hello または例外、不明なパケットを取得)

0 投票する
2 に答える
5779 参照

clickhouse - マテリアライズドビューの選択を変更するクリックハウス

私は次の設定をしています:

新しい列を追加したい、例。テーブルipへ。my request_incomeドキュメントによると、そのためには次の手順に従う必要があります。

  1. ビューをデタッチして、Kafka からのメッセージの受信を停止します。

    DETACH TABLE request_income;

  2. ALTERKafka エンジンはクエリをサポートしていないため、Kafka からデータをストリーミングするテーブルをドロップします。

    DROP TABLE request_income_buffer

  3. 新しいフィールドを使用して、Kafka からデータをストリーミングするテーブルを再作成します。

    CREATE TABLE IF NOT EXISTS request_income_buffer (timestamp UInt64, timestamp_micro Float32, traceId Int64, host String, ip String, type String, service String, message String, caller String, context String ) ENGINE = Kafka('kafka:9092', 'request_income' 、「グループ」、「JSONEachRow」);

  4. この投稿によると、切り離されたマテリアライズドビューの.innerテーブルを更新します

    ALTER TABLE `.inner.request_income` ADD COLUMN ip String after host;

  5. 上記の更新ビューの選択クエリからの投稿によると

  6. ビューを添付

    ATTACH TABLE request_income

質問は、ビューの選択クエリを更新する方法ですか?