今日学习心得:
什么是工作流:
工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。
工作流管理系统(Workflow Management System, WfMS)的主要功能是通过计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。
工作流的主要功能:
定义、创建、执行工作流
好处以及意义:
主要就是优化业务流程,提高业务工作效率,提高顾客服务质量。
我的理解:进行业务工作前的建模。
DML:
加载文件列表:
LOAD DATA [LOCAL] INPATH “filepath” [OVERWRITE] INTO TABLE table name [PARITION(partcol1=val1, partcol2=val2 …)]
LOCAL:表示输入文件在本地文件系统(Linux),如果没有加LOCAL,hive则会去HDFS上查找该文件。
OVERWRITE:表示如果表中有数据,则先删除数据,再插入新数据,如果没有这个关键词,则直接附加数据到表中。
PARTITION:如果表中存在分区,可以按照分区进行导入。
创建表:
CREATE TABLE amp (
empno int,
name string,
job string,
mgr int,
comm double
) ROW FORMAT DELIMITED FIELDS TERMINATED BY “\n”;
把本地文件系统中emp.txt导入:
LOAD DATA LOCAL INPATH ‘/home/hadoop/emp.txt’ OVERWRITE INTO TABLE emp;
使用分区加载数据:
load data local inapt ‘/home/hadoop/dept.txt’ into table dept partition (dt=“2018-09-09”)
插入数据:
模版:INSERT OVERWRITE TABLE tablename1 [PARTITION (partcoll1=vall1, partcoll2=vall2 … )] [IF NOT EXISTS]] select_statement1 FROM from_statement;
实例:INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 …)] select_statement1 FROM from_statement;
进行的任务:
在即时查询中查询表中字段信息和数据。
查看工作流的脚本和sql
这个rpt_push_all_d的sql我照着写了一遍,边写边想要理解
sql语句:
insert overwrite table jlgl_rpt.rpt_push_all_d
partition(dt=’{dt}’ as cal_dt, --计算时间
‘all’ as type, --策略类型
t1.user_id, --用户id
to_json(named_struct(‘huawei’,t2.android_huawei_token)) as devices, --设备及设备token,json格式
t1.create_time_uxit as create_time --注册时间
from
(select user_id,
create_time_unix --注册时间(13位时间戳)
from test.dw_fact_mem_device_ver_all_d
where dt=’KaTeX parse error: Double superscript at position 240: …replace(vivo,' '̲,''),'\\{|\\}|\…{dt}’
and vivo is not null
)t
lateral view explode(split(android_vivo_json,’,’)) u1 as android_vivo_all_json
)t2
on t1.user_id=t2.idunion all
select t2.token as key,
‘{dt}’
and (ipad_version_int >= int(8)
or iphone_version_int >= int(8))
)t1
join
(
select user_id,
token
from test.ods_mango_spk_ios_all_d
where dt=’${dt}’
通过霏哥的讲解对元数据的开发思路有了一些理解。
问题:
1:select * from test.lx_tmp_data_20190902_1出现了下面的异常
org.apache.hive.service.cli.HiveSQLException: java.io.IOException: java.io.IOException: hdfs://jiliguala/data/hive/warehouse/test.db/lx_tmp_data_20190902_1/000000_0 not a RCFile and has magic of 418