数据清洗:
一、要求
要求将 day_id 一列中的数值清洗为真实的日期格式,可用字符串表示。
数据 1 对应日期 2021-09-01,依次类推,15 对应日期 2021-09-15
二、操作
1、创建表格存放清洗后的数据:
create table sales_y(day_id string,sale_nbr string,buy_nbr string,cnt string,round string)
row format delimited fields terminated by ',';
2、插入清洗后的数据:
insert overwrite table sales_y select date_add('2021-09-00',cast(day_id as int)) as day_id,sale_nbr as sale_nbr,buy_nbr as buy_nbr,cnt as cnt,round as round from sales;
3、查看结果
select * from sales_y limit 10;
三、总结
1、DATE_ADD() 函数
作用:向日期添加指定的时间间隔。
语法:DATE_ADD(date,INTERVAL expr type)
参数:
-
date 参数是合法的日期表达式
-
expr 参数是您希望添加的时间间隔。
2、CAST()函数
作用:用于将某种数据类型的表达式显式转换为另一种数据类型。CAST()函数的参数是一个表达式,它包括用AS关键字分隔的源值和目标数据类型。
语法:CAST (expression AS data_type)
参数:
-
expression:任何有效的SQServer表达式。
-
AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型。
-
data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型。