1.在spark 2中saveAsTable 时,要先spark.sql("use telemetry"),并且在save之前这个表一定不存在
否则会报save的类型不一致这个exception
2.spark在load比较大的表时,直接load会出现卡死的情况,因此可以通过多线程,分成多个时间段,每个时间段起一个线程来load数据
3.spark在使用Oracle JDBC执行Oracle sql时,应该要加上()tmp
example:
(
select siteid, itemname, itemvalue, LASTMODIFIEDTIME
,
case when ITEMNAME = 'EnableCloudTelepresence' and itemvalue = '1' then 'True' else 'False' end isCMR
from WBXSITECONFIG)tmp