問題タブ [database-scan]
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.
java - SingleColumnValueFilter を使用して ColumnPrefixFilter でスキャンし、すべての列を取得する方法は?
hbase テーブルがあり、それをスキャンする必要があります。ある特定の列が正確な値を持ち、正確なプレフィックスを持つ他の列が存在するすべての行を見つける必要があります。何かのようなもの:
個々のフィルターは完璧に機能します。値 を持つfilterA
行を返します。存在する行を返します。しかし、一緒にすると何も返されません。このフィルターを組み合わせることができますか? または、私は間違っていますか?COLUMN_1
2L
filterB
COLUMN_2
同じ条件の 2 番目の質問:ColumnPrefixFilter
すべての列を使用して取得できますか。COLUMN_2
存在する行を見つけて、他のすべての列も取得することを意味しますか?
elasticsearch - Elastic Searchインデックスをスキャン/スクロールするときに予測可能な順序はありますか?
ElasticSearchインデックスをスキャンする場合、ドキュメントに従って並べ替えを適用することはできません。しかし、このプロセス中の結果の順序について何か定義はありますか?はいの場合、それは予測可能ですか?
背景情報:
定期的に5Mのドキュメントを操作する必要があり、1.000のドキュメントの各バッチの処理には約1分かかります。実行するたびにプロセスが終了するかどうかわからないので、前回中断された場所で作業をピックアップさせたいと思います。たとえば、スクロール結果を次のように並べ替えたID
場合などです。そうではありません)、コードで最後に処理されたものを追跡ID
し、次の実行では、を使用してドキュメントを処理しなくなりID <= lastProcessedId
、すべてのドキュメントが定期的に処理されるようにします。
ところで:「ドキュメントを処理する」とは、追加情報をインデックスに書き戻すことではなく、データベース内の他のものを更新することを意味します。プロセスが中断される理由の1つは、インデックスが新しいインデックスに置き換えられた(最初から再構築された)ためである可能性があるため、インデックス付きドキュメントにタイムスタンプを書き込むことは私の場合には役に立ちません。処理されたタイムスタンプをデータベースに書き込むことも、私にとって望ましいオプションではありません。なぜなら、反復パフォーマンスが、最初にインデックスを使用してスクロールする理由だからです。
hbase - HBase (簡単): hbase シェルで範囲プレフィックス スキャンを実行する方法
hbase で実行するアプリを設計しており、クラスターのコンテンツを対話的に探索したいと考えています。hbase シェルを使用していて、文字 "abc" で始まるすべてのキーのスキャンを実行したいと考えています。そのようなキーには、「abc4」、「abc92」、「abc20014」などが含まれる可能性があります...スキャンを試みました
しかし、技術的には行キー「abc」はなく、「abc」で始まる行キーのみであるため、これは何も返さないようです。
私が欲しいのは次のようなものです
HBase はこれをすばやく実行できると聞いており、これが主なセールス ポイントの 1 つです。hbase シェルでこれを行うにはどうすればよいですか?
redis - 複数のパターンに一致するための Redis キー関数
複数の一致パターンを持つキーを見つける方法、たとえば、キーを持っている
foo:* または poi:* パターンと一致するように redis キー関数を使用してキーを見つける方法など
hbase - HBase: 行キーがバイト配列値として格納されている場合、行キー範囲を使用して行をフェッチする方法
オラクルからhdfsにスクープされたデータを格納するためにHBaseを使用しています。ここでは、行キーをバイト配列値として設計しました。行キーは のように複合キーで囲みます(Md5(schema name).getBytes() + Md5(date (format = yyyy-mm-dd)).getBytes() + ByteBuffer.allocate(8).putLong(pkid).array())
。ここで PKID は long 値です。
特定のスキーマと特定の日付のすべての行を取得したい場合、startrow と endrow を使用して hbase テーブルにクエリを実行できますか、またはこのようなクエリを実行する他の方法はありますか?
user1_20130123
行キーを,のような文字列として保存すると...
、user1_20130127
次を使用してテーブルをフィルタリングできます
ここでは、これらの日付で user1 の行を取得しています。上記のように行キーを保存すると、どのようにクエリできますか?
c# - プログラムで DB 全体をスキャンする
最近、一連の非常に大規模な SQL Server データベースを継承しました。アプリケーションとデータベースのスキーマは混乱しています。さまざまな種類の機密データを格納するデータベース内のいくつかのフィールドに出くわしましたが、それらは格納されるべきではありません。私のデータベースにはほぼ 10,000 のテーブルがあるため、これらのデータベースのいくつかをプログラムでスキャンして、データの場所を見つける方法がどうしても必要です。これは非常にリソースを集中的に使用することになるので、データベースのバックアップに対してスキャンを実行するように特別にサーバーをセットアップしました。
また、ツールを購入するためのゼロドルも持っています。
C# と SQL を使用して、データベース内のすべてのユーザー テーブルをスキャンして機密データを探す方法を知っている人はいますか?
1 つのタイプのデータ (SSN など) をスキャンする例は非常に役立ちます。必要なすべてのシナリオにそれを当てはめることができると確信しています.
hbase - Hbaseスキャン操作:正確な行キーの代わりに条件付きの終了行を提供する方法は?
行キーは次の形式です。
UserID-ResourceID
Hbase の行が並べ替えられていることはわかっているため、上記の行キー形式を使用しています。同じユーザーに属するリソースは一緒にスタックされます。UserID はランダムですが、ResourceID は単純なカウンターであり、新しいリソースが追加されるたびに増加するとします。
リソースを取得するために、テーブル全体をスキャンしたくないので、開始行と終了行を提供する必要があります。UserID と ResourceID が 0 から始まることはわかっているので、開始行を指定できますが、リソースの数がわからない (またはその情報を保存したくない)。有効でない場合にスキャンを停止する条件を指定できますか? UserID が変更された場合など、スキャンを停止します。
基本的には、その人に属する最初のリソースを見つけてから、リストをたどっていきます。すべてのリソースが積み上げられているためです。すべてのリソースが見つかったら終了します。
追加の質問: リスト内のその人物に属する最後の 10 個のリソースなど、リソースのサブセットのみを返すように条件を指定することは可能ですか?