hadoop学习工作总结(六)之生成hive的一个存储过程
来源:互联网 发布:mac虚拟机蓝屏 编辑:程序博客网 时间:2024/06/06 00:50
declare
-- Local variables here
i integer;
v_max_i number;
v_where varchar2(4000);
v_relation_column varchar2(30) := 'party_id';
v_data_type varchar2(30);
begin
for r in (SELECT distinct t.tablename FROM xiao_cx_test t WHERE t.tablename IN (
'FIN_PAC_HOW_CONTACT_INFOS',
'FIN_PAC_HOW_RELATION_INFOS',
'FIN_PAC_HOW_TRADE_INFOS',
'FIN_PAC_WHAT_CUSTOMER_VALUES',
'FIN_PAC_WHAT_PRODUCT_AMOUNTS',
'FIN_PAC_WHAT_PRODUCT_ROLES',
'FIN_PAC_WHAT_PRODUCT_TYPES',
'FIN_PAC_WHO_CUSTOMER_VALUES',
'FIN_PAC_WHO_IDENTIFIER_INFOS',
'TRA_PAC_HOW_RELATION_INFOS',
'TRA_PAC_WHAT_VEHICLE_INFO',
'TRA_PAC_WHO_IDENTIFIER_INFOS'
)) loop
dbms_output.put_line(' SELECT ');
dbms_output.put_line( '"'||r.tablename || '" ,');
for j in (SELECT t.COLUMN_NAME, T.tablename,t.COLUMN_ID FROM xiao_cx_test t WHERE T.tablename IN (
'FIN_PAC_HOW_CONTACT_INFOS',
'FIN_PAC_HOW_RELATION_INFOS',
'FIN_PAC_HOW_TRADE_INFOS',
'FIN_PAC_WHAT_CUSTOMER_VALUES',
'FIN_PAC_WHAT_PRODUCT_AMOUNTS',
'FIN_PAC_WHAT_PRODUCT_ROLES',
'FIN_PAC_WHAT_PRODUCT_TYPES',
'FIN_PAC_WHO_CUSTOMER_VALUES',
'FIN_PAC_WHO_IDENTIFIER_INFOS',
'TRA_PAC_HOW_RELATION_INFOS',
'TRA_PAC_WHAT_VEHICLE_INFO',
'TRA_PAC_WHO_IDENTIFIER_INFOS'
)
and t.tablename = r.tablename
order by t.tablename,to_number(t.COLUMN_ID)
) loop
select max(to_number(a.COLUMN_ID)) into v_max_i
from xiao_cx_test a where a.tablename = r.tablename;
if j.COLUMN_ID <> v_max_i then
dbms_output.put_line( 'sum( case when '|| j.COLUMN_NAME || ' is null then 0 when '|| j.COLUMN_NAME ||'=0 then 0 else 1 end ) as '|| j.COLUMN_NAME || ',');
else
dbms_output.put_line('sum( case when '|| j.COLUMN_NAME || ' is null then 0 when '|| j.COLUMN_NAME ||'=0 then 0 else 1 end ) as '|| j.COLUMN_NAME );
end if;
end loop;
dbms_output.put_line('from gbd_360_safe.'||r.tablename ||' where y="2014" and m="07" ; ');
dbms_output.put_line('');
dbms_output.put_line('');
end loop;
end;
drop table tzr_tmp_table_create;
create table tzr_tmp_table_create
(table_name varchar2(50),
sql_string long);
declare
sql_string long;
p_table_owner varchar2(100);
p_table_name varchar2(100);
P_COL_NUM NUMBER;
i number;
p_col_name varchar2(50);
p_col_type varchar2(20);
p_col_comment varchar2(500);
p_table_comment varchar2(500);
begin
delete from tzr_tmp_table_create;
commit;
for loop_table in (select t1.TABLE_NAME
from user_tables t1
where t1.TABLE_NAME in ('ODS_CIF2_LIFE_CUST',
'ODS_CIF2_LIFE_INSURED',
'ODS_CIF2_PERSON')) loop
sql_string :='';
p_table_owner := 'LCDMDATA';
p_table_name := loop_table.table_name;
P_COL_NUM := 0;
i :=1;
p_table_comment :='';
sql_string := 'CREATE TABLE ' || P_TABLE_NAME || '(';
SELECT COUNT(*)
INTO P_COL_NUM
FROM USER_TAB_COLUMNS T1
WHERE T1.TABLE_NAME = p_table_name;
while i <= p_col_num loop
select t1.COLUMN_NAME,decode(t1.data_type,'NUMBER','DOUBLE','STRING'),replace(t2.COMMENTS,chr(10),'')
into p_col_name,p_col_type,p_col_comment
from user_tab_columns t1,user_col_comments t2
where t1.TABLE_NAME = t2.TABLE_NAME
and t1.COLUMN_NAME = t2.COLUMN_NAME
and t1.TABLE_NAME = p_table_name
and t1.COLUMN_ID = i;
if i < p_col_num then
sql_string := sql_string || '
' || p_col_name || ' ' || p_col_type || ' COMMENT "' || p_col_comment || '",';
else
sql_string := sql_string || '
' || p_col_name || ' ' || p_col_type || ' COMMENT "' || p_col_comment || '"';
end if;
i := i+1;
end loop;
select t.COMMENTS
into p_table_comment
from user_tab_comments t
where t.TABLE_NAME = p_table_name;
sql_string := sql_string || ')COMMENT "' || p_table_comment || '"' || '
PARTITIONED BY(pt STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ''\001'';';
insert into tzr_tmp_table_create (table_name,sql_string)
values(p_table_name,sql_string);
commit;
end loop;
end;
/
select *
from tzr_tmp_table_create
order by table_name;
- hadoop学习工作总结(六)之生成hive的一个存储过程
- hadoop学习工作总结(二)之hive流程
- hadoop学习工作总结(五)之从txt文件导数到hive
- hadoop生态系统学习之路(六)hive的简单使用
- Hadoop之hive学习
- Hadoop之hive学习
- Hadoop之hive学习
- hadoop学习之hive
- Hadoop之Hive学习
- Hadoop 之 hive 学习
- hadoop学习工作总结(一)
- hadoop学习工作总结(三)之数据优化
- hadoop学习工作总结(四)之数据同步
- Hive简介、什么是Hive、为什么使用Hive、Hive的特点、Hive架构图、Hive基本组成、Hive与Hadoop的关系、Hive与传统数据库对比、Hive数据存储(来自学习资料)
- 电子商务之存储过程分析(六)
- 一个生成job的存储过程
- 一个学习Hadoop的好地方(Hadoop、Hbase、Hive、Zookeeper)
- Hadoop Hive概念学习系列之hive的数据压缩(七)
- 标准正态分布面积(面积=比例=概率,不仅限于正态分布)
- 提高tomcat的并发能力
- java--四则运算
- jQuery.fn的作用是什么
- Preference中比较重要的监听点击事件方法
- hadoop学习工作总结(六)之生成hive的一个存储过程
- Java中的equals()和==
- 设置一个层同时水平垂直居中
- Dubbo是什么
- jQuery.extend 函数详解
- ubuntu samba服务器配置(windows访问linux下文件夹,比VMware共享文件夹更高效)
- Linux2.6设备模型(一)——对象和集合
- Java小编
- 优化firefox和chrome的配置文件,提高运行速度