我創建拼花文件數據框如下:如何在Spark中打印DataFrame列的唯一值?
DataFrame parquetFile = sqlContext.read().parquet("test_file.parquet");
parquetFile.printSchema();
parquetFile.registerTempTable("myData");
DataFrame data_df = sqlContext.sql("SELECT * FROM myData");
現在我想打印出一個名爲field1
列的所有唯一值。
我知道如果使用Python,可以運行import pandas as pd
,然後將data_df
轉換爲pandas DataFrame,之後使用unique()
。
但我怎麼能在Java中做到這一點?
'從myData'(字段1)選擇不同? – philantrovert
@philantrovert:你能否發表你的答案?在大數據集的情況下,您的解決方案可以更好地工作,因爲它不會將所有數據加載到數據框中。它選擇所需的數據。 – Dinosaurius
有人已經發布了它:D btw,你可以嘗試'data_df.select(data_df(「field1))distinct'嗎?這不應該加載整個數據,並且可能因爲spark內部優化而更快。 – philantrovert