web-dev-qa-db-ja.com

Pyspark:spark=データフレームを表形式で表示する

私はpysparkを使用して、以下のような寄木細工のファイルを読んでいます:

_my_df = sqlContext.read.parquet('hdfs://myPath/myDB.db/myTable/**')
_

次に、my_df.take(5)を実行すると、pandasデータフレームを使用するときのようなテーブル形式ではなく、[Row(...)]が表示されます。

pandas data frame?Thanks!のような表形式でデータフレームを表示することは可能ですか?

12
Edamame

show メソッドは、探しているものを実行します。

たとえば、次の3行のデータフレームがある場合、次のように最初の2行だけを印刷できます。

df = sqlContext.createDataFrame([("foo", 1), ("bar", 2), ("baz", 3)], ('k', 'v'))
df.show(n=2)

生成されるもの:

+---+---+
|  k|  v|
+---+---+
|foo|  1|
|bar|  2|
+---+---+
only showing top 2 rows
20
eddies

はい:データフレームでtoPandasメソッドを呼び出すと、actual pandas dataframe!

4
maxymoo

@maxymooの答えのコメントで@Brentが言及したように、あなたは試すことができます

_df.limit(10).toPandas()
_

jupyterできれいなテーブルを取得します。ただし、sparkデータフレームをキャッシュしていない場合は、実行に時間がかかる場合があります。また、.limit()は元のsparkデータフレームの順序を保持しません。

1
Louis Yang