SparkSQL中SQL、DataFrame和DataSet方式的静态类型安全和运行时类型安全

版权声明:未经允许,随意转载,请附上本文链接谢谢(づ ̄3 ̄)づ╭❤~
https://blog.****.net/xiaoduan_/article/details/79751755

SQL、DataFrame和DataSet方式的静态类型安全和运行时类型安全

SparkSQL中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的错误或者是数据的字段属性写错。