我使用pyspark讀取拼花文件中像下面以表格形式火花數據幀:Pyspark:顯示
my_df = sqlContext.read.parquet('hdfs://myPath/myDB.db/myTable/**')
後來,當我做my_df.take(5)
,它會顯示[Row(...)]
,而不是像一個表格式當我們使用熊貓數據框。
是否可以像熊貓數據框這樣的表格格式顯示數據幀?謝謝!
我使用pyspark讀取拼花文件中像下面以表格形式火花數據幀:Pyspark:顯示
my_df = sqlContext.read.parquet('hdfs://myPath/myDB.db/myTable/**')
後來,當我做my_df.take(5)
,它會顯示[Row(...)]
,而不是像一個表格式當我們使用熊貓數據框。
是否可以像熊貓數據框這樣的表格格式顯示數據幀?謝謝!
show方法可以完成您正在尋找的任務。
例如,給定的3行以下數據幀,我可以打印只是前兩行是這樣的:
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
是:在你的數據框上調用toPandas
方法,你會得到一個實際熊貓數據框!
我試過做:my_df.toPandas()。head()。但得到了錯誤:Py4JJavaError:調用z:org.apache.spark.api.python.PythonRDD.collectAndServe時發生錯誤。 :org.apache.spark.SparkException:由於階段失敗而導致作業中止:階段2.0中的任務301失敗1次,最近失敗:階段2.0中丟失的任務301.0(TID 1871,localhost):java.lang.OutOfMemoryError:Java堆空間 – Edamame
這很危險,因爲這會將整個數據幀收集到單個節點中。 –
應該強調的是,這將很快限制傳統Spark RDD場景中的內存。 – deepelement
嘗試:'my_df.take( 5).show()' – MaxU
我得到錯誤: in () ----> my_df.take(5).show() AttributeError:'list'object has沒有屬性'顯示' –
Edamame
它應該是'my_df.show()。take(5)' – maxymoo