問題タブ [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 投票する
2 に答える
73 参照

sql - Spark SQL: 列の値は、A、T、G、C、または N の組み合わせのみにすることができます

A、T、G、C、または N 以外の文字を含む「ref」列のすべての行を検索するために、spark テーブルにクエリを実行しようとしています。

有効な結果には、これらの文字のみが含まれている必要があり、これらの文字の任意の長さまたは組み合わせを含めることができます。

例えば:

有効 = AA、ATTTGGGGCCCC、C、G、TTG、N など。

無効 = P、.、NULL

次のクエリは、単一のヌクレオチドのみを含む列を返します。

次のクエリは impala sql では機能しますが、spark では機能せず、かなり醜いです:

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

python - PySpark -- 行のリストをデータ フレームに変換する

私が実際に解決しようとしている問題は、PySpark データフレームの最初/最後の N 行を取得し、結果をデータフレームにすることです。具体的には、次のようなことができるようになりたいです。

ただし、head()行のリストを返すため、次のエラーが発生します。

したがって、PySpark データフレームの最初の N 行を dataframeとして返すメソッド、またはこれらの行のリストをデータフレームに変換するメソッドを探しています。何か案は?

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

apache-spark - グループ化と合計後のRDDソート

いくつかの yelp データに対して分析を実行しようとしています。データは次のように構成されています。

現在開いているレビューが 10 件以上ある全体の各州のレコードを数え、3 番目に多い州を見つけたいと考えています。最初にやった

これはこれを与える

それをsummedDFに保存した後、

summedDF.sort(summedDF.state.desc()).collect()

州ごとに並べ替えても問題ありませんが、(当然のことながら)

summedDF.sort(summedDF.SUM(review_count#16).desc()).collect()

動作しません。実際、それも実行されません。正しい数の括弧がありますが、実行する代わりに、...前に次の行に移動し、新しい入力を待ちます。

どうすればそのソートを行うことができますか? 非実行で何が起こっていますか? #16はどうですか?

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

python - PySpark DataFrame が重複を削除できない

こんにちは、spark データフレームを作成しました。重複を削除しようとしています。

次のエラーが表示されます。

osx 10.11.4、spark 1.6.1を使用しています

このようなjupyterノートブックを実行しました

見逃した、または間違った可能性のある他の構成はありますか?

0 投票する
0 に答える
218 参照

apache-spark - Pyspark (1.6.1) SQL.dataframe 列から Hive を使用しないベクトル集約

SQL データフレームdfが次のようになっているとします。

出力を次のようにしたい:

Hive を使用せずに SQL データフレームでこれを行う最も簡単な方法は何ですか?

1) どうやら、Hive のサポートにより、関数を簡単に使用collect_set()およびcollect_list()集約できます。しかし、これらの関数はプレーンな Spark SqlContext では機能しません。

2) 別の方法として UDAF を作成することもできますが、必要なコードの量を考えると、このような単純な集約にはやり過ぎのようです。

3) df.rdd を使用してからgroupBy()関数を使用できます。これが私の最後の手段であります。実際にRDDをDFに変換してデータ操作を簡単にしましたが、明らかにそうではありません...

私が見逃した他の簡単な方法はありますか?