Apache Sparkはビッグデータの処理や活用に最も広く使われているフレームワークの一つであり、Pythonはデータ分析や機械学習などの分野で最も広く使われているプログラミング言語の一つです。より強力な機械学習機能を手に入れたいなら、Spark と Python を一緒に使ってみてはいかがでしょうか? 海外では、Apache Spark 開発者の平均年収は 11 万ドルです。この業界で Spark が広く使用されていることは間違いありません。 Python は、豊富なライブラリを備えているため、ほとんどのデータ サイエンティストや分析の専門家にも使用されています。両者の統合はそれほど難しくありません。Spark は、Java に非常によく似た言語である Scala で開発されています。 Spark ビッグデータ処理用にプログラム コードを JVM バイトコードにコンパイルします。 Spark と Python を統合するために、Apache Spark コミュニティは PySpark をリリースしました。 Apache Spark は、Apache Software Foundation によって開発された、リアルタイム処理用のオープン ソース クラスター コンピューティング フレームワークです。 Spark は、暗黙的なデータ並列性とフォールト トレランスを備えたクラスター全体をプログラミングするためのインターフェイスを提供します。 他のフレームワークに比べて優れている Apache Spark の機能をいくつか紹介します。
Spark は Scala で設計されており、Python よりも 10 倍高速ですが、Scala の速度の利点は、使用されるコアの数が少ない場合にのみ現れます。最近のほとんどの分析と処理には多数のコアが必要なので、Scala のパフォーマンス上の利点はそれほど大きくありません。 プログラマーにとって、Python は豊富な構文と標準ライブラリを備えているため、比較的簡単に学習できます。さらに、RDD は動的型付け言語であるため、複数のタイプのオブジェクトを保持できます。 Scala には SparkMLlib がありますが、機械学習や NLP を実装するためのライブラリやツールが十分にありません。さらに、Scala にはデータの視覚化機能が欠けています。 Python で Spark を設定する (PySpark) まず、Sparkをダウンロードしてインストールする必要があります。Sparkファイルを抽出し、インストールして.bashrcファイルパスに追加したら、source .bashrcと入力する必要があります。 PySparkシェルを開くには、コマンド./bin/pysparkを入力します。 PySpark SparkContext とデータフロー Python で Spark に接続するには、RD4s を使用し、ライブラリ Py4j を使用できます。 PySpark Shell は、Python API を Spark Core にリンクし、Spark コンテキストを初期化します。 SparkContext は Spark アプリケーションの中核です。
PySpark KDD ユースケース ここで、ユースケースを見てみましょう。データ ソースは KDD'99 Cup (国際知識発見およびデータ マイニング ツール コンペティション。中国には Zhihu など、同様のコンペティションのオープン データ セットがあります) です。元のデータセットが大きすぎるため、ここではデータセットの一部を取り出します。 RDD を作成する: これで、このファイルを使用して RDD を作成できます。 フィルター データセット内の通常の相互作用の数を数えたいとします。次のようにして raw_data RDD をフィルタリングできます。 カウント: これで、新しい RDD に含まれる要素の数を数えることができます。 出力: マッピング: この場合、データファイルを CSV 形式のファイルとして読み取ります。これは、RDD 内の各要素にラムダ関数を適用することで実現できます。以下に示すように、ここでは map() および take() 変換を使用します。 出力: スプリット: ここで、RDD 内の各要素をキーと値のペアとして使用します。キーはタグ (通常の値など) で、値は CSV 形式ファイルの行を表す要素のリスト全体です。 これは、line.split() と map() を使用して次のように実行できます。 出力: 集める: collect() アクションを使用して、RDD のすべての要素をメモリに保存します。したがって、大きな RDD を使用する場合は注意が必要です。 出力: もちろん、これはこれまでのどの操作よりも時間がかかりました。 RDD の一部を持つ各 Spark ワーカー ノードは、その部分を取得してすべてをまとめるために調整する必要があります。 これまでのすべてを結び付ける最後の例として、通常のやり取りをすべてキーと値のペアとして収集します。 出力: |
>>: 人間の生理学的パラメータのモニタリング分野に焦点を当て、Pulse Geekはウェアラブルでこの分野に参入し、AIを活用して心臓の守護者となる
近年、人工知能の進歩により、私たちのコミュニティの安全性は大幅に向上しました。この技術は、緊急管理者...
【51CTO.comオリジナル記事】 1. ロングテール効果?動物の尻尾と関係があるのでしょうか?前...
次の技術変化が始まる前に、将来の発展の方向を予測・判断し、技術変化に伴う可能性のある困難を軽減する必...
データは、人工知能システムを構築するために必要な重要なインフラストラクチャです。データは、AI シス...
テクノロジーは建設業界にかつてないほど大きな影響を与えています。クラウドベースのコラボレーションやデ...
[[433247]]包装食品の需要増加により、食品ロボット市場規模の成長が促進されると予想されます。...
近年、事前学習済みの拡散モデル[1, 2, 3]の開発により、テキストから3Dコンテンツへの自動作成...
7月10日、人材分析・計画会社Visierは、英国、米国、カナダ、ドイツの250社以上の企業の従業員...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...
Appleの携帯電話に搭載されているインテリジェントなパーソナル音声アシスタントSiriから、Alp...
研究アイデアの成功は、そのアイデアが他の研究方向よりも優れているかどうかではなく、適切なハードウェア...
昨日は第4回世界トップ科学者フォーラムの2日目でした。世界トップの科学者たちがオンラインとオフライン...
[51CTO.com クイック翻訳] 私が初めて AI に触れたときのことを振り返ると、いくつかの...