2016-07-26 41 views
0

我嘗試按以下方式使用上HDInsight火花數據幀創建大熊貓數據幀:爲什麼registerTempTable從數據框中刪除一些行?

tmp = sqlContext.createDataFrame(sparkDf) 
tmp.registerTempTable('temp') 

它看起來像registerTempTable將刪除數據幀的一些行。

下面的命令返回11000

sparkDf.count() 

雖然tmp只有2500行。

我按照here所述的步驟操作。

+0

您用什麼代碼來計算tmp? – user3124181

回答

5

我假設你正在使用Jupyter筆記本電腦,而且你從一個SQL查詢得到您的數據,即

%%sql -o tmp 
SELECT * FROM temp 

發生這種情況,因爲%%sql查詢透明地限制了結果數據框的大小tmp至2500行。您可以通過使用-n選項選擇新的限制:

%%sql -o tmp -n 11000 
SELECT * FROM temp 

您也可以選擇-1地說,你不希望在所有的(注意這個限制數據框的大小,因爲如果結果集足夠大,可能會導致驅動程序內存不足或渲染圖表時導致您的瀏覽器掛起/崩潰):

%%sql -o tmp -n -1 
SELECT * FROM temp