私は、Python 2を使用:(あなたは最初の)次のPythonパッケージをインストールする必要があります
Pythonパッケージをインストールする前に、いくつかの依存関係のツールをインストールする必要があります。
Debianの/ Ubuntuの:apt-getのインストールのpython-devのlibsasl2-devのGCC
CentOSの/ RHEL:YUMインストールのgcc-C ++のpython-devel.x86_64のcyrus-saslの-devel.x86_64のmysql-develの
bitarray-0.8.3.tar.gz
impyla-0.14.0.tar.gz
MySQL-python-1.2.5.zip
新HiveHelper.py
# - * -コーディング:UTF-8 - * - impala.dbapiインポート接続から クラスHiveHelper(オブジェクト): デフ__init __(自己): self.host = '' self.port = self.database = '' self.user = '' self.password = '' self.auth_mechanism = '' self.connect() デフ接続(自己): "" "接続 のArgs: nullの 戻り値: nullの """ self.conn =接続( ホスト= self.host、 ポート= self.port、 データベース= self.database、 ユーザー= self.user、 パスワード= self.password、 auth_mechanism = self.auth_mechanism) self.cursor = self.conn.cursor() デフ近い(自己): "" "近く のArgs: nullの 戻り値: nullの """ self.cursor.close() 自己.conn.close() デフクエリ(自己、SQL): "" "クエリ のArgs: SQL 戻り値: SQL結果 """ 結果は=() してみてください: self.cursor.execute(SQL) 結果= self.cursor。fetchAllの() eと例外を除い: 印刷e.messageはメッセージの リターン結果 :DEF(自己、SQL)を実行 してみてください: self.cursor.execute(SQL) self.conn.commit() を除い: self.conn.rollback()
新HiveSearch.py
#!は/ usr / binに/のpython # - * -コーディング:UTF-8 - * - 輸入OS、SYS 輸入再 輸入JSON 輸入数学 インポート時 のインポートオペレータ 輸入urlparse 輸入スレッド 輸入HiveHelperの インポート要求が カレンダーのインポート インポートの日時 クラスPcdnSearchを: DEF __init __(自己): self.sql = HiveHelper.HiveHelper() self.punch_data = {} self.flow_data = {} DEF get_flow_data(自己、時間、クライアントID): SQL = "" #印刷のSQL 試み: 結果= self.sql .query(SQL) 結果のアイテムのための: GUID =項目[1] 流量=項目[3] 帯= ROUND(フロート(流量)* / 3600/1000分の1000 8 * 1.1、2) self.flow_data [GUID] =(流量、バンド) 例外、Eを除きます。 通過 DEF get_punch_data(自己、時間、クライアントID): SQL = "" DEF get_result(自己): もし__name__ == '__main__': lenの場合(sys.argvの)== 3: RUN_TIME = sys.argvの[1] CLIENT_ID = INT(sys.argvの[2]) 他: 印刷'PARAMエラー' 出口(0) CB = PcdnSearch() cb.get_punch_data(RUN_TIME、CLIENT_ID) cb.get_flow_data(RUN_TIME、CLIENT_ID) cb.get_result()