問題タブ [hdf5]
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.
python - 科学シミュレーションデータのデータ永続性、Mongodb + HDF5?
私は、複数の物理学とシミュレーターを含むモンテカルロシミュレーションソフトウェアパッケージを開発しています。オンライン分析を行い、派生データの生データへの依存性を追跡し、「温度> 400および(x0、y0)付近の位置の波形を教えてください」などのクエリを実行する必要があります。したがって、メモリ内のデータモデルはかなり複雑です。
アプリケーションはPythonで記述されており、各シミュレーション結果はPythonオブジェクトとしてモデル化されています。1時間ごとに、最大100の結果(オブジェクト)が生成されます。ほとんどのオブジェクトには、重いデータ(数MBの2進数配列)といくつかの軽いデータ(温度、位置など)があります。合計データ生成レートは1時間あたり数GBです。
データ永続性ソリューションと使いやすいクエリAPIが必要です。重いデータ(数値配列)をHDF5ストレージに保存することをすでに決定しました。オブジェクトの永続性(軽いデータのみ)と、HDF5の重いデータのインデックス作成にMongoDBを使用することを検討しています。MongoDBでのオブジェクトの永続性は単純で、クエリインターフェイスは十分に強力に見えます。
私はsqlalchemy+sqliteオプションを知っています。ただし、大量のデータをHDF5にストリーミングすることは、SqlAlchemyで自然にサポートされているようには見えず、固定スキーマは面倒です。
私はこの投稿( HDF5データセットの検索)を知っていますが、「インデックステーブル」自体は高速クエリのためにいくつかのメモリ内インデックスを必要とします。
私が飛び込む前に私が見なければならない代替の解決策があるかどうか疑問に思いますか?それとも、計画で見落としていた問題はありますか?
TIA。
hdf5 - HDF は文字列のインターンを行いますか?
グループ/データセット名をどの程度自由に使用できるか、または名前を短くする必要があるかどうかを考えているだけです (したがって、読みにくくなります)。これは、多くの重複した名前を持つ多くのグループとデータセットを含む HDF5 ファイルの場合です。一部の XML API は最適化として文字列のインターンを行います。HDFがこれを行うのは理にかなっていますが、オンライン ドキュメントからはそうであるかどうかわかりません。
hdf5 - HDF5は非標準の値サイズ(4ビット、24ビットなど)を処理できますか?
配列内のデータが、たとえば、配列要素ごとに4ビット(1バイト以内)または配列要素ごとに24ビット(32ビットint内)であることをHDF5に伝えることは可能ですか?もしそうなら、これは実際にメモリ、ディスクスペース、またはその両方を節約しますか?
hdf5 - HDF5は「値マッピング」を実行できますか?
64ビット整数の32^3配列があり、それには12の異なる値しか含まれていない場合、メモリやディスク領域を節約するために「内部マッピング」を使用するようにHDF5に指示できますか?つまり、配列は通常64ビットintでアクセスできますが、各値は内部でバイト(?)インデックスとして64ビットintのテーブルに格納され、メモリやメモリの約7/8を節約できる可能性があります。ディスクスペース。これが可能な場合、実際にメモリ、ディスクスペース、またはその両方を節約できますか?
hdf5 - HDF5:「ファイル バッファ」と「ファイル キャッシュ」の違いは何ですか?
HDF5 ライブラリの「仮想ファイル レイヤー」では、いくつかのオプションから選択できます。「システムバッファリングなし」の POSIX ドライバーである SEC2 の場合のデフォルトの 1 つ - 「システムによってキャッシュされずにファイルが書き込まれることを除いて」、POSIX のバリアントである DIRECT を選択することもできます。
では、ファイル バッファとファイル キャッシュの違いは何でしょうか? 私にとっては、ほとんど同じように聞こえます。
c++ - boost::multi_array を hdf5 データセットに書き込む
c++ ベクトルまたは boost::multi_arrays を HDF5 データセットに簡単に書き込むために使用できるライブラリまたはヘッダーはありますか?
HDF5 C++ の例を見てきましたが、c++ 構文を使用して c 関数を呼び出すだけで、静的な c 配列をデータセットに書き込むだけです (create.cpp を参照)。
私は要点を逃していますか!?
前もって感謝します、アダム
matlab - MATLAB を使用して H5 ファイルから文字列を読み取る
idl で読み取ったデータと同様の方法で、matlab を使用して H5 データから品質フラグ (良い、悪い、注意) などの文字列を読み取る必要がありますが、機能しません。matlab2009a版を使用しています.h5ファイルの文字列を「バイト配列」として読み込んで、文字フラグ(良い、注意、悪い)に0,1,2などの数字を入れられるか教えてください。文字列以外の緯度、経度、データ (すべて数値) などの他のパラメーターを読み取ることができます。あなたの助けに感謝。
エグのために'
私はあなたの助けに感謝します。
python - Python用およびPythonによるSPSSファイルのHDF5ファイルの作成
Python で SPSS ファイルの HDF5 ファイルを作成する最も簡単な方法は何ですか?
python - PyTable のインストールに失敗しました
easy_install
どちらかまたは両方を使用して PyTables をインストールしようとしていますpip
が、両方の試行で同じエラーが発生します。
error: Command "gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DNDEBUG=1 -DHAVE_LZO2_LIB=1 -DHAVE_BZ2_LIB=1 -Iblosc -I/usr/lib/pymodules/python2.7/numpy/core/include -I/usr/include/python2.7 -c src/H5ARRAY.c -o build/temp.linux-x86_64-2.7/src/H5ARRAY.o -Isrc -DH5_USE_16_API" failed with exit status 1
すべての依存関係がインストールされています。
- numexpr 1.4.2 パッケージがインストールされていることがわかりました。
- Cython 0.14.1 パッケージがインストールされていることがわかりました。
- で HDF5 ヘッダーが見つかりました。
/usr/include
ライブラリは/usr/lib
です。 - で LZO 2 ヘッダーが見つかりました。
/usr/include
ライブラリは/usr/lib
です。 - LZO 2 はすでに見つかっているため、LZO 1 の検出をスキップします。
- で bzip2 ヘッダーが見つかりました。
/usr/local/include
ライブラリは/usr/local/lib
です。
しかし、まだ警告があります:
.. WARNING:: Could not find the bzip2 runtime. The bzip2 shared library was *not* found in the default library paths. In case of runtime problems, please remember to install it.
この警告により、PyTables の正常なインストールが妨げられる可能性はありますか?