顯示數據表
獲得賽題原始數據(用電數據yu):
CREATE TABLE IF NOT EXISTS fyd_tianchi_power2
AS
SELECT *
FROM odps_tc_257100_f673506e024.tianchi_power2;
CREATE TABLE IF NOT EXISTS fyd_tianchi_weather_data
AS
SELECT *
FROM odps_tc_257100_f673506e024.tianchi_weather_data;
將原數據表中的日期為字符串格式,將其中‘2015/1/1’形式改為‘2015/01/01’格式再轉為時間戳格式:
CREATE TABLE IF NOT EXISTS fyd_tianchi_power_data2
AS
SELECT TO_DATE(CASE
WHEN record_date LIKE '____/_/_' THEN concat(regexp_extract(record_date, '(.+/)(.+/)(.+)', 1), '0', regexp_extract(record_date, '(.+/)(.+/)(.+)', 2), '0', regexp_extract(record_date, '(.+/)(.+/)(.+)', 3))
WHEN record_date LIKE '____/__/_' THEN concat(regexp_extract(record_date, '(.+/)(.+/)(.+)', 1), regexp_extract(record_date, '(.+/)(.+/)(.+)', 2), '0', regexp_extract(record_date, '(.+/)(.+/)(.+)', 3))
WHEN record_date LIKE '____/_/__' THEN concat(regexp_extract(record_date, '(.+/)(.+/)(.+)', 1), '0', regexp_extract(record_date, '(.+/)(.+/)(.+)', 2), regexp_extract(record_date, '(.+/)(.+/)(.+)', 3))
ELSE record_date
END, 'yyyy/mm/dd') AS record_date, user_id, power_consumption
FROM fyd_tianchi_power2
將相同日期的數據求和匯總:
CREATE TABLE IF NOT EXISTS fyd_sum_power_data2
AS
SELECT record_date, SUM(power_consumption) AS sum_consumption
FROM fyd_tianchi_power_data2
GROUP BY record_date
輸出顯示剛才的數據:
select * from fyd_sum_power_data2
查看選取某一用戶的數據:
SELECT record_date, power_consumption
FROM fyd_tianchi_power_data2
WHERE user_id = 175
ORDER BY record_date
LIMIT 700