-1
df.select("*").filter(df.itemid==itemid).show()
和永不終止,但如果我這樣做
print df.select("*").filter(df.itemid==itemid)
它打印在不到一秒鐘。爲什麼是這樣?
df.select("*").filter(df.itemid==itemid).show()
和永不終止,但如果我這樣做
print df.select("*").filter(df.itemid==itemid)
它打印在不到一秒鐘。爲什麼是這樣?
這是因爲select
和filter
只是構建執行指令,所以他們沒有對數據做任何事情。然後,當您致電show
時,它實際上會執行這些說明。如果它沒有終止,那麼我會查看日誌以查看是否有任何錯誤或連接問題。或者,也許數據集仍然過大 - 嘗試只用5來看看它是否快速回來。
我嘗試過'df.show(1)',但這也是永遠的。我不認爲這是一個連接錯誤 – Pear
你的設置是什麼?本地模式?獨立?嘗試如下所示:'df = spark.createDataFrame([('a',),('b',),('c',)],['col1'])'',接着是'df.show() '(應該是幾秒鐘) –
@ TwUxTLi51Nus我在本地機器上,連接到Oracle數據庫。是的,這花了一秒鐘來展示。 – Pear
你如何調用Spark?通過'pyspark'外殼?什麼是你的「火花大師」?本地計算機或遠程計算機上是否有Oracle數據庫?您是否可以使用除Spark以外的其他工具連接到Oracle數據庫 –