Pythonのコール・インタフェース、受信インタフェースのpython POSTリクエスト(完全なコードを添付)

  スパークはまた、フレームワーク上で、Python言語を使用してインターフェイスを提供PySparkを開始してScalaの言語と比べて、Pythonは、そのユニークな利点およびアプリケーション、Pythonのコール・インタフェースの広い範囲を有し、データ要求にPythonインタフェースは、ポストの科学者が受信されますこれは、便利なフレームワークを提供します。
  我々はすべて知っているように、主にScalaの言語によってスパークフレームワークは、それはまた、Javaコードの含有量が少ないです。ユーザプログラミングインタフェースのSparkはScalaのです。しかし、科学的データの分野でPythonは重要な位置を占めてきました。エンジニアは、まだデータ処理のさまざまな方法を使ってデータや、numpyの、パンダなどの科学的なコンピューティングPythonライブラリ、大量のを持って、scikit学習のように。同時に、Pythonのエントリしきい値はScalaのよりも有意に低かったです。
  この理由のため、スパークPySparkを開始した、データ科学者を容易にするために、スパークフレームワークにPythonのインターフェイスのセットを提供します。この論文は、以下を含むPySparkの原理の実施のレベルを達成するためにソースコードを分析:
  ; PySparkマルチプロセスアーキテクチャを
  PythonはJavaとScalaのインターフェイスを呼び出し、
  PythonのドライバRDD、SQLインタフェース、
  プロセス間通信終了とシリアル化を実行します;
  パンダUDF;
  要約。
  1.PySparkマルチプロセスアーキテクチャ
  PySpark使用マルチプロセスアーキテクチャ、PythonとJVMプロセスが分離されています。Pythonとは、JVMプロセスドライバとアクチュエータに表示されます。火花提出によりPySparkのPythonスクリプトを提出する際、運転手側のPythonスクリプトは、Pythonから直接実行し、JVM本体を起動します。しかし、RDDやPython呼び出し操作データフレームは、JavaインタフェースPy4jによって呼び出されます。
  エグゼキュータの面では、ちょうど反対。ドライバ第一アクチュエータJVM起動プロセス、pythonの自動書き込みの論文は、その後、PythonのUDFを実行するJVM上のPythonの子プロセスを起動します。プロセス間通信のためのソケット。2.Pythonドライバは、Javaインタフェース呼び出し方法:全体的なアーキテクチャは、下に表示され
  、ドライバは最初のユーザーによって提出されたPythonスクリプトを実行して、から提出さPySparkのジョブの後に、上記の火花提出します。しかし、ほとんどのAPIスパークがスカラまたはJavaを提供され、PythonとJavaインターフェースを起動できることが必要です。PySparkは、オープンソースのライブラリとして、ここでPy4jを使用しました。あなたはPythonがSparkContext最後にオブジェクトを作成すると、JVMが実際に開始し、SparkContextオブジェクトのScalaの終わりを作成しました。コードは、パイソン/ pyspark / context.pyに実装されて:
あなたは、インターネット上の問題がある場合、あなたはあなたに感謝し、私に尋ねることができます!あなたが一緒に人工知能を勉強したい場合は、メッセージ交換を歓迎します。

完全なコード

いくつかの方法でのpython API呼び出し:

- urllib2の

- httplib2

- pycurl

- リクエスト

 

urllib2の


輸入urllib2の、urllibは
github_url = 'https://api.github.com/user/repos'
password_manager = urllib2.HTTPPasswordMgrWithDefaultRealm()
password_manager.add_password(なし、github_url、 'ユーザー'、 '***')
AUTH = urllib2の。 HTTPBasicAuthHandler(password_manager)#認証ハンドラを作成
オープナー= urllib2.build_opener(認証)#は、認証ハンドラでオープナーを作成
urllib2.install_opener(オープナー)#オープナー...インストール
要求=はurllib2.Request(github_url、urllib.urlencodeを( { '名前': 'テストレポ'、 '説明': 'いくつかのテスト・リポジトリ'}))#マニュアル符号化に必要な
ハンドラ= urllib2.urlopen(リクエスト)
印刷handler.read()

2. httplib2


インポートurllibは、httplib2
github_url = '
H = httplib2.Http( "キャッシュ")
h.add_credentials("ユーザ"、 "******"、 "
データ= urllib.urlencode({"名":"テスト」 })
RESP、コンテンツ= h.request(github_url、 "POST"データ)
印刷コンテンツ

3. pycurl


インポートpycurl、JSON
github_url = "
user_pwd = "ユーザー:*****"
データ= json.dumps({"名": "test_repo"、 "説明"、 "いくつかのテストレポ"})
C = pycurl.Curl( )
c.setopt(pycurl.URL、github_url)
c.setopt(pycurl.USERPWD、user_pwd)
c.setopt(pycurl.POST、1)
c.setopt(pycurl.POSTFIELDS、データ)
c.perform()


4.要求

リクエストインポート、JSON
github_url = "
データ= json.dumps({ '名称': 'テスト'、 '記述': 'レポいくつかのテスト'})
R&LT requests.post =(github_url、データ、AUTH =( 'ユーザ'、 「*****」))
r.json印刷し
、より多くの方法がこの方法で最も簡潔かつ明確なアクションを実行するためにAPIを呼び出しますが、コードを要求することができますお勧めします。

おすすめ

転載: www.cnblogs.com/python168/p/12590449.html