問題タブ [pyhive]
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.
hive - 非同期モードで実行している場合、PyHive は HiveServer2 からログを取得できません
非同期モードで Hive クエリを実行している PyHive で奇妙な問題が発生しています。内部的には、PyHive は Thrift クライアントを使用してクエリを実行し、ログを取得します (実行ステータスと共に)。Hive クエリ (マップ/リデュース タスクなど) のログを取得できません。cursor.fetch_logs()
空のデータ構造を返します
ここにコードスニペットがあります
カーソルは operationState を正しく取得できますが、ログを取得できません。HiveServer2 側で構成する必要があるものはありますか?
前もって感謝します
python - SQLAlchemy PyHive 制限クエリ結果サイズ (MB)
SQLAlchemy DB-API (非同期) で PyHive を使用しています。次のコマンドを実行すると、私の Hive テーブルには何百万ものレコードがあります。
何百万ものレコードをメモリにロードします。クエリ結果のサイズを特定のサイズ (たとえば 5 MB) に制限する方法はありますか?
5 MB を超える結果はすべて破棄します。数百万のレコードは 100 MB になる可能性がありますが、これだけのデータを Python コードにロードしたいと考えています。
例:
1000 行 = テーブルで 5 MB、SQLAlchemy は 1000 行しか返しません。
別のクエリの例:
ここで、table2 の 100,000 行 = 5 MB の場合、SQLAlchemy は 100,000 行を返します。
このようにして、クライアントのメモリが不足することはありません。例は単純ですが、複雑な結合 SQL が存在する可能性があり、データの MB に基づいてクエリ結果のサイズを制限したいと考えています。
SQLAlchemy でそれを達成する方法はありますか、またはそのような動作を達成するために Hive & Presto サーバーを変更する必要がありますか?