AWS EMR 7.2+Spark-SQL+Hudi环境下,如何添加含当前日期的列?
在AWS EMR 7.2(Spark-SQL + Hudi)中用curdate()添加日期列
环境与Spark-SQL启动命令
使用环境为AWS EMR 7.2,搭配Spark-SQL和Hudi,启动spark-sql的命令如下:
spark-sql --jars /usr/lib/hudi/hudi-spark-bundle.jar,/usr/lib/hudi/hudi-aws-bundle.jar --conf "spark.serializer=org.apache.spark.serializer.KryoSerializer" --conf "spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog" --conf "spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension"
常规添加日期列的语句
常规给表添加日期列的SQL语句为:
alter table account add columns (date date);
使用curdate()添加日期列的方法
若要新增日期列并将默认值设为当前日期(通过curdate()获取),需要使用带默认值的ALTER TABLE语法,具体语句如下:
ALTER TABLE account ADD COLUMNS (date DATE DEFAULT curdate());
该语句会为account表新增date列,现有数据行的date列会自动填充当前日期;后续插入新数据时,若未指定date列的值,也会自动使用当前日期作为默认值。
内容的提问来源于stack exchange,提问作者Albert T. Wong
相关产品推荐
相关产品推荐

