文章目录
一、hive相关
1. 如何增加列
ALTER TABLE user_profile ADD COLUMNS
(return_distance string, return_duration string);
2. 如何添加或修改列的注释
ALTER TABLE user_profile change COLUMN distance
distance string COMMENT '距离';
ALTER TABLE user_profile change COLUMN duration
duration string COMMENT '时长';
3. 如何查看表的具体列的数据类型
DESCRIBE your_table_name
4. 如何drop一个表
drop table your_table_name
5. 如何设置前置项
set mapreduce.job.queuename=your_queue_name;
set hive.exec.parallel=true;
set hive.exec.parallel.thread.number=10;
set mapred.job.name=your_job_name;
set mapreduce.map.memory.mb=8192;
set mapreduce.reduce.memory.mb=8192;
6. 如何从某个时间点获取它30天前的日期
假设当前rundate为2024年6月17日
- 获取rundate的unix时间戳
SELECT unix_timestamp('${rundate}','yyyyMMdd') as a
执行结果:1718553600
- 将unix时间戳转为格式化后的时间类型
select from_unixtime(
unix_timestamp('${rundate}','yyyyMMdd')
) as a
执行结果:2024-06-17 00:00:00
- 对格式化后的时间进行日期加减操作
select date_add(
from_unixtime(
unix_timestamp('${rundate}','yyyyMMdd')
),
-30
)
as a
执行结果:2024-05-18
- 将加减操作后的日期转为unix时间戳
SELECT unix_timestamp(
date_add(
from_unixtime(
unix_timestamp('${rundate}','yyyyMMdd')
),
-30
),
'yyyy-MM-dd'
)
as a
执行结果:1715961600
- 将unix时间戳转为格式化后的日期字符串
SELECT from_unixtime(
unix_timestamp(
date_add(
from_unixtime(
unix_timestamp('${rundate}','yyyyMMdd')
),
-30
),
'yyyy-MM-dd'
),'yyyyMMdd'
) as a
执行结果:20240518
用一句话总结上面的所有操作就是:
select from_unixtime(unix_timestamp(date_add(from_unixtime(unix_timestamp('${rundate}','yyyyMMdd')),-30),'yyyy-MM-dd'),'yyyyMMdd')
as a
7、如何时间戳转星期
--1650598213149001是个微秒级的时间戳,转成毫秒级需要除以1000
SELECT date_format(from_unixtime(cast(1650598213149001/1000 as bigint)), 'u');
二、dolphin笔记
1. 如何增加前置节点依赖
- 在流程图中,右键单击某个已有节点,选择“复制”
- 双击新的节点,编辑title节点的新名称
- 在“前置任务”中选择需要依赖的前置节点