2017-10-10 125 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

最后我得到了解决方案。这是因为日文字符出现在数据集中。如果出现类似问题,可以考虑这一点。

相关问题