ユーザー/パスワードによる認証が必要なhadoop(apache hive)データベースに接続する必要があります。通常はDBeaver(JDBCドライバーがインストールされている)でアクセスしますが、Python 3.7(Python 2.xではない)のスクリプトを使用した単純なクエリを使用してデータを取得する必要があります。私はいくつかの方法を試しましたが成功しませんでした。誰かがうまくいく解決策を持っていますか?
pyhive、presto、pyhs2、impala、ibisを試しました
Windowsマシン上のODBCドライバーによってPythonからハイブを接続するための以下の手順に従うことができます。
- Hiveに必要なドライバーをインストールします。Cloudera / Hortonworksを使用している場合は、それぞれのドライバーをWebサイトで見つけることができます。
- インストールが完了したら、スタートメニューまたはコントロールパネルから64ビットODBCアドミニストレーターに移動します。
- 必要なサーバーの詳細と接続ユーザーIDおよびパスワードを入力します。以下は同じもののスクリーンショットです。
- それが完了したら、[テスト]ボタンをクリックしてテスト接続を確認し、成功したかどうかを確認します。
- Pythonからハイブに接続するときに同じDSNを使用できます。以下は、同じDSNのコードスニペットです。
import pyodbc
import pandas as pd
with pyodbc.connect("DSN=<replace DSN name>", autocommit=True) as conn:
df = pd.read_sql("<Hive Query>", conn)
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加