2017-10-10 44 views
1

我的代碼與此完全相似。只在這裏更改變量和表名。請在輸入時忽略任何語法錯誤。原始代碼編譯成功。Spark數據集:表格數據與其創建的視圖不完全相同

------ CODE ------

Dataset<Row> test = sqlContext.sql("select * from test_table"); 

test.createOrReplaceTempView("temp_view_test"); 

sqlContext.sql("drop table if exist new_table"); 
sqlContext.sql("create table new_table as select * from temp_view_test"); 

//Code to print counts 

//count if dataset 
System.out.println("test count:"+test.count()); 

//count of temp view 
Dataset<Row> tempViewTestData = sqlContext.sql("select * from temp_view_test"); 
System.out.println("temp view count: "+tempViewTestData.count()); 

//count of newly created table 
Dataset<Row> newTableData = sqlContext.sql("select * from new_table"); 
System.out.println("New Table count: "+newTableData .count()); 

-----輸出----

測試計數:9422720 臨時查看次數:9422720 新表計數:9520364

----- -----問題

我的問題是,爲什麼新表的計數從臨時視圖的次數不同。我應該怎麼做才能使兩個計數相同。

回答

0

最後我得到了解決方案。這是因爲日文字符出現在數據集中。如果出現類似問題,可以考慮這一點。

相關問題