問題タブ [hdfstore]

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 投票する
1 に答える
5913 参照

python - Pandas HDFStoreはメモリからデータフレームをアンロードします

OK、pandas を使って、4,000 万行以上、150 列以上の 30GB の csv ファイルを HDFStore にロードする実験を行っています。列の大部分は文字列で、その後に数値と日付が続きます。

これまで numpy、pandas、または pytables を実際に使用したことはありませんが、R でデータ フレームをいじったことがあります。

現在、約 20000 行のサンプル ファイルを HDFStore に保存しています。HDFStore からテーブルを読み取ろうとすると、テーブルがメモリに読み込まれ、メモリ使用量が最大 100MB 増加します

次に、DataFrame を含む変数を削除します。

メモリ使用量が約5MB減少した時点で

を使用して g にデータを再度ロードするg=f['df']と、メモリ使用量がさらに 100MB 増加します。

クリーンアップは、実際にウィンドウを閉じたときにのみ発生します。

データを編成する方法として、メモリに収まる最大テーブル サイズが約 1 GB の個々のテーブルにデータを分割し、一度に 1 つずつ使用するつもりです。ただし、メモリをクリアできない場合、このアプローチは機能しません。

どうすればこれを達成できるかについてのアイデアはありますか?

0 投票する
1 に答える
1980 参照

python - where を使用したインデックスによる HDFStore からの行の選択

HDFStore にインデックス付きの frame_table として格納されている user_ids を持つデータ フレームがあります。また、この HDF ファイルには、ユーザーが実行したアクションを含む別のテーブルがあります。1% のユーザーが行ったすべてのアクションを取得したいと考えています。手順は次のとおりです。

ここで、戻って、df_user_id として同じインデックスが付けられた frame_tables から、これらのユーザーが実行したアクションを説明するすべての追加情報を取得したいと考えています。この例この質問に従って、私は次のことを行いました:

これは単に空のデータ フレームを提供します。実際、前の pandas docリンクの例をコピーして貼り付けると、空のデータ フレームも取得されます。Term最近のパンダで何か変わった?私はパンダ0.12を使用しています。

私は特定の解決策に縛られていません。df_id テーブル (高速) のルックアップから hdfstore インデックスを取得し、それらのインデックスを他のフレーム テーブルから直接取得できる限り。

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

python - HDFStore ディレクトリの誤りからの回復

新しい HDFStore を作成し、その中に何かを入れます。

IPython を再起動すると、「誤って」このシナリオで、間違ったディレクトリからストアを開こうとします。

おっとっと!私の間違いに気づき、正しいディレクトリに移動し、正しいディレクトリに座っている間に変数をcd再割り当てします。store

私の質問: ここで何が起こったのですか? 誤って間違ったディレクトリからストアにアクセスしようとした後、正しいディレクトリからストアを開くことができないのはなぜですか? 以下では、最初に間違ったディレクトリで開かずにファイルを開くと、実際にはそこにあり、すべてがうまくいっていることがわかります。

これはある種の文脈上の問​​題ですか?私は途方に暮れています。この不注意な間違いは、私が集団意識に陥るほど頻繁に起こります。ありがとう!


更新しました

これは HDFStore のバグだと思います。cd正しく動作しているようです。これが CSV で正常に機能することを確認してください。

Jeff の提案に従って試してみると!cd、予期しない IPython の動作が明らかになりました。

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

hadoop - 単一の Hadoop ノードに複数のレコードを書き込む方法

Hadoop の問題についてサポートが必要です。
私の Java システムには、n 個のレコードを作成する関数があります。各レコードは明らかに、Hadoop のテキスト ファイルに書き込む行です。

問題は、 n 個のレコードすべてを同じ Hadoop ノード
に保存するにはどうすればよいかということです。言い換えれば、n 個のレコードが一意のレコードのように見えるようにして、これらのレコードの 1 つ (またはそのレプリカの 1 つ) がノード上にある場合、もちろん他のn-1 個のレコードもオンになるようにします。同じノード。

たとえば、関数が次のものを作成するとします。

この 3 つのレコード (3 行) を Hadoop のテキスト ファイルに追加すると、record1 が node1 に、record2 が node2 に、record3 が node3 に移動する可能性があります。3 つのレコードすべてが node2 などの同じノードに格納され、異なるノードに格納されていないことを確認する方法があるかどうかを知りたいです。

ご清聴ありがとうございました。

0 投票する
1 に答える
459 参照

pandas - pandas HDFStore の PyTables ノードが表形式かどうかを確認する

pandas HDFStore の PyTables ノードが表形式であるかどうかを確認する好ましい方法はありますか? これは機能NoSuchNodeErrorしますが、API の一部とは思えないので、これに頼るべきではないかもしれません。

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

pandas - リスト内のメンバーシップをチェックするための HDFStore Term メモリ効率的な方法

選択しようとしている pandas HDFStore があります。大きな np.array の id を持つ 2 つのタイムスタンプの間でデータを選択したいと思います。次のコードは機能しますが、リスト内のメンバーシップを照会した場合にのみメモリを大量に消費します。datetimeindex と範囲を使用すると、メモリ使用量が 95% 少なくなります。

HDFStore でこれを行うメモリ効率の良い方法はありますか? インデックスを「sec_id」に設定する必要がありますか? (chunksize オプションを使用して自分で連結することもできますが、これはちょっとハックのようです。)

編集:

hdfstore は、pd.HDFStore によってデータフレームを作成し、このように格納することによって作成されます。さっき間違えた

リクエストに応じて、このテーブルの ptdump を次に示します: https://gist.github.com/MichaelWS/7980846 また、df を次に示します: https://gist.github.com/MichaelWS/7981451

0 投票する
1 に答える
2249 参照

python - HDFStore ファイルを使用するスレッドセーフおよび例外セーフな方法

次のコード スニペット:

Web リクエストに応答して実行されるため、複数のスレッドで同時に実行される可能性があります。また、store.close が呼び出される前に実行が中断される可能性もあります。

再現できない問題 (HDFStore ライブラリの例外、または空のデータが返される) が発生しています。

このコードをスレッドセーフにし、例外が発生したときにファイルが正しく閉じられるようにする正しい方法は何ですか?

調査の結果、HDFStore には開いているファイルのキャッシュ メカニズムがあることがわかりました。これが問題なのでしょうか?