問題タブ [pyspark-sql]

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.

0 投票する
1 に答える
955 参照

apache-spark-sql - mysql と Oracle から SparkSQL データを結合するにはどうすればよいですか?

SparkSQL で mysql と Oracle データベースのデータを結合することは可能ですか? それらに参加しようとしましたが、SPARK_CLASSPATH に複数の jar (mysql と Oracle の jdbc ドライバー) を設定するのに問題があります。これが私のコードです:

誰かがこの問題を解決するのを手伝ってくれませんか? 前もって感謝します :)

0 投票する
3 に答える
34419 参照

sql - データを Spark にインポートするときにパーティション/ノードの数を設定する方法

問題: 以下を使用して S3 から Spark EMR にデータをインポートしたい:

Spark がデータの読み込み処理に使用するノードの数を設定する方法はありますか? これは、データを処理する方法の例です。

コンテキスト: データが大きすぎず、Spark への読み込みとクエリに時間がかかります。Spark はデータをあまりにも多くのノードに分割していると思います。手動で設定できるようにしたいです。RDD を扱うときは知っておりsc.parallelize、パーティションの数を入力として渡すことができます。また、私は見repartition()ましたが、私の問題を解決できるかどうかはわかりません. 変数dataDataFrame私の例では a です。

パーティションをより正確に定義しましょう。定義 1: 一般に「パーティション キー」と呼ばれ、列が選択され、クエリを高速化するためにインデックスが作成されます (これは私が望んでいるものではありません)。定義 2: (これが私の懸念事項です) データ セットがあるとします。Spark は、データ セットを多数のノードに分散させて、データに対して操作を並行して実行できるようにします。データ サイズが小さすぎると、処理がさらに遅くなる可能性があります。その値を設定するにはどうすればよいですか

0 投票する
3 に答える
56765 参照

python - テキスト列のPyspark DataFrame UDF

PySpark DataFrame の一部の Unicode 列の NLP テキストのクリーンアップを実行しようとしています。Spark 1.3、1.5、および 1.6 で試してみましたが、うまく動作しないようです。Python 2.7 と Python 3.4 も試してみました。

以下に示すように、新しい列の各レコードに対して文字列を返すだけの非常に単純な udf を作成しました。他の関数はテキストを操作し、変更されたテキストを新しい列に戻します。

一部のサンプル データは、ここから解凍できます

これは、データをインポートしてから udf を適用するために使用するコードです。

df.show(5) を実行すると、次のエラーが表示されます。問題はおそらく show() に起因するものではないことを理解していますが、トレースはあまり役に立ちません。

私が試している実際の機能:

0 投票する
3 に答える
2978 参照

pyspark - PySpark - 再帰的な Hive テーブルを読み取る

次のような HDFS に複数のサブディレクトリを持つ Hive テーブルがあります。

通常、Hive スクリプトを実行する前に、次のパラメーターを設定します。

私はPySparkを使って同じことをしようとしています.

次のようなエラーが発生します。

Sparkでサブディレクトリを持つHiveテーブルを読み取る正しい方法は何ですか?

0 投票する
2 に答える
4049 参照

pandas - Apache Spark - sqlContext.sql からパンダへ

こんにちは、Spark DataFrame があり、SQL コンテキストを使用して変換を行いました。たとえば、すべてのデータで 2 つの列のみを選択します。

しかし今、私はこの sqlcontext を pandas データフレームに変換したいと思っています。

しかし、出力はここで停止し、IDE (スパイダー) を再起動する必要があります

私は何を間違えましたか?ありがとう

EDIT:さらに完成:Oracleデータベース(cx_Oracle)から日付をロードし、データをpandasデータフレームに入れます

次に、データフレームを操作するための sparkContext を作成しました

sqlcontext から pandas データフレームに再度変換したい

0 投票する
1 に答える
658 参照

xml - Databricks xml lib を使用した SparkSQL: 有効な xml の「不正な行」/UnboundPrefix

次の行で始まる ipython ノートブック セッションで、Oracle JDK 1.8 (ビルド 1.8.0_65-b17) で Spark 1.6.0 を実行しているとします。

そのため、databricks spark-xml パッケージ ( https://github.com/databricks/spark-xml ) を含めました。次に、pyspark に対して次のコードを実行します。

dummy.xml には、DMOZ ダンプ ( http://rdf.dmoz.org/ ) のこの小さな断片が含まれています。

これは、私が見つけたバリデータに対して検証します。結果は次のとおりです。

次のコード行を参照します: https://github.com/databricks/spark-xml/blob/master/src/main/scala/com/databricks/spark/xml/util/InferSchema.scala#L101。これは明らかに、上記の javax.xml.stream クラスのいくつかによってスローされる XMLStreamException の場合です。

残念ながら、例外の詳細はハンドラーによって省略されるため、行の何が問題なのか正確にはわかりません。ただし、属性から名前空間を削除すると (つまり、r:id単に になりますid)、それがなくなります。私はいくつかの一般的な落とし穴にぶつかったと感じています.どれを知る必要があります.

UPD: デバッグ ステートメントを使用して、databricks lib の独自の jar をコンパイルしましたが、バインドされていないプレフィックスに関するものであることが判明しました。

理由は何ですか?どうすれば修正できますか?