問題タブ [q-lang]
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.
kdb - kdb 別のテーブルのデータで列全体を更新する
2 つのパーティション テーブルがあります。テーブル A は私のメイン テーブルであり、テーブル B はテーブル A の一部の列の正確なコピーである列でいっぱいです。ただし、テーブル A の一致する列がいっぱいであるため、必要なデータを含むテーブル B の列が 1 つあります。ヌルの。
ほとんどが冗長であるため、テーブル B を完全に削除し、テーブル A の一致する列をテーブル B の 1 つの列のデータで更新したいと考えています。
視覚的に、
テーブル A の b 列にテーブル B の b 列の値を入力すると、テーブル B は不要になり、削除できます。これら 2 つのテーブルは 2 つの別々のソースから毎日提供されるため、これを繰り返し行う必要があります。
これらのテーブルは両方ともパーティション化されているため、キーを設定できません。
私が試してみました:
しかし、「長さエラー」が発生します。
何らかの方法でこれにアプローチする方法についての提案を歓迎します。
kdb - kdb で一度に複数の列を追加するにはどうすればよいですか?
どういうわけか、1 つの列を追加する方法を示す例しか見つかりません。
だから私はこのコードを書きましたが、これはうまくいきますが、これを行うにはもっと良い方法があることを知っています.テーブル t にはデータで満たされた列が既に存在し、最初はnullである新しい列を追加する必要があります.
私はそれを関数にしてみました:
しかし、これは 1 つの列を追加しただけで、それを x と呼びました。
このコードを改善するための提案は大歓迎です。4 列以上を追加する必要があり、そのためにコードが非常に長くなります。ありがとうございました!
substring - 部分文字列を新しい列に取得する
次の形式のデータを持つ列を含むテーブルがあります-列を「タイトル」、テーブルを「s」と呼びましょう
題名
「。」の前に来る文字の一意のリストを取得しようとしています。私はこれで終わるように:
最初の列をテーブルに選択してから、「ss」を使用してドットの位置である新しい列を作成するために更新を試みました。
このようなもの:
次に、「タイトル」から「N」文字になる3番目の列を試してみました.Nは「thedot」列に格納されている値です。
更新を試みたときに得られるのは、「タイプ」エラーだけです。
何か案は?私は kdb に非常に慣れていないので、非常にばかげた方法で簡単なことをしていることは間違いありません。
memory-management - vmem パラメータは kdb-q サービスにどのように影響しますか
これが私がしたことです:
- 制限引数を指定して aq プロセスを実行しました
vmem
(たとえば、100GB システムvmem
で 50GB を実行) - UNIX
top
コマンドをログに記録しました
プロセス全体が完了した後、メモリ使用量を分析しようとしていました。プロセスの %age メモリ使用量が 90% を超えていることがわかりました。私は vmem がメモリ消費を制限すると信じていました。しかし、私のプロセスは時々 90GB 以上のメモリを使用したようです。
これはどのように説明できますか?何か不足していますか?
kdb - SQL のような OR 条件を使用した KDB クエリ
SQL では、論理 (true と true) または (true と true) を使用してクエリを記述できます。つまり、次のようになります。
このようにQでやろうとすると
コンパイルに失敗します。
私もこれを試しました
しかし、正しい結果も返されません
KDBでそれを照会する方法は?