SparkSQL中SQL、DataFrame和DataSet方式的静态类型安全和运行时类型安全
版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~
https://blog.****.net/xiaoduan_/article/details/79751755
SQL、DataFrame和DataSet方式的静态类型安全和运行时类型安全
SQL:
seleeeeeetc name from person;
SQL关键字写错,编译 ok, 运行错误DataFrame:
df.seleeeeeeect("name");
SQL关键字写错,编译不通过df.select("nnnnnnnname");
属性的名字写错了,编译可以通过,但是运行报错DataSet:
ds.map(line => line.itemmmmmmmmmid);
属性写错,编译不通过
总结一下
三种不同的方式在于能否把错误提前呈现出来,很明显DataSet的方式可以最大限度的将错误提前。无论是SQL的错误或者是数据的字段属性写错。