osm2psqlで大きなデータセットをインポートしますか?[閉まっている]


8

私の質問は、に似ているのPostgreSQLデータベースへのosm2pgsql経由遅いインポートおよびOSMデータのosm2pgsql輸入の最適化が、我々は現在、私は新しいものを開き、OSMデータの大規模なセットをインポートすることは非常にいくつかの問題を持っているよう。

大規模なデータセット(OSM Export of Europe)をpostgres DBにインポートする最良の方法は何ですか?

私たちのコンピューターには32 GBのRAMが搭載されているので、そのすべてを使用できます。

いくつかのパラメーターを試しましたが、成功しませんでした...最後に試したのは

osm2pgsql -c -S /usr/share/osm2pgsql/default.style --slim -d osm-europe -U postgres -C 25000 europe-latest.osm.pbf

しかし、サーバーに32 GBのRAMが使用可能であっても、メモリーが不足しました。

pending_ways failed: out of memory for query result
(7)
Error occurred, cleaning up

インポートコマンドをどのように改善しますか?

さらに時間がかかる場合でも...しかし、データをpostgres DBにインポートする必要があります。

タスクにEC2を使用することをお勧めしますか、それともセットアップはさまざまなパラメーターで動作しますか?

回答:


7

お使いのコンピュータは、ヨーロッパを輸入するのに適しています。

データセットのサイズとコンピューターを考えると、私はこのようなものをお勧めします


私はあなたが8スレッドのCPUを持っていると仮定していますが、そうでない場合は調整してください--number-processes

ヨーロッパだけのキャッシュには、25GBのRAMは必要ありません。

ヨーロッパでは、フラットノードはノード位置のDB内ストレージよりも小さく、高速である必要があります。

それでも問題が解決しない場合は、64ビットIDスペースを使用しているosm2pgsqlのバージョンがあることを確認してください。バージョンがある場合は、PostgreSQLの設定を確認してください。ディスクがいっぱいになる可能性があります。postgresql.confで設定を調整してみてください。


どうもありがとう...週末の間、私のコマンドでインポートが成功し、他のプロセスはマシンで実行されていませんでした...しかし、どうもありがとう!
ジョージ14


8

24Gbマシン(Ubuntu Trusty)にPlanetファイルをインポートしました。

bzcat planet-latest.osm.bz2 | 
osm2pgsql --verbose -U YourUser --flat-nodes flat-nodes --keep-coastlines --cache 24000 --hstore --hstore-add-index --tablespace-index pg_default --exclude-invalid-polygon --number-processes 6 --unlogged --cache-strategy dense --extra-attributes --slim -H localhost -d planetosm --style ../my.style planet-latest.osm.bz2

約5日かかりました。実際のインポートではなく、データベース側の後半

インポート用に次のようにPostgresを調整しました

autovacuum = off (default #autovacuum = on)
checkpoint_segments = 60 (default #checkpoint_segments = 3 # in logfile      
segments, min 1, 16MB each)
maintenance_work_mem = 256MB ( default #maintenance_work_mem = 16MB # min 1MB)
work_mem = 256MB (default #work_mem = 1MB  # min 64kB)

どうもありがとう...週末の間、私のコマンドでインポートが成功し、他のプロセスはマシンで実行されていませんでした...しかし、どうもありがとう!
ジョージ14

どういたしまして。それを正しくするのに1か月
かかった
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.