1.編寫指令碼addtabletopartition.sh
該指令碼每天自動生成兩個檔案,乙個是資料庫建表以及規則的ddl指令碼
乙個是呼叫slony集群命令slonik的指令碼
#!/usr/bin/perl -w##
use strict;
use posix qw(strftime);
$| = 1;
my $tk = time;
my $date = strftime "%y%m%d", localtime($tk);
my $date_2 = strftime "%y-%m-%d", localtime($tk);
my $sql_file = 'createtable.sql';
my $cmd_file = 'slonik.sh';
my $sql_tmpl = <= '$date_2'::date and crdate < ('$date_2'::date + 1))
) inherits (views)
without oids;
alter table views_$date add primary key (id);
alter table views_$date owner to slony;
-------create rule
create or replace rule view_rule_$date as
on insert to views
where new.crdate >= '$date_2'::date and new.crdate < ('$date_2'::date + 1) do instead insert into views_$date (crdate, ad_id, client_ip, fb_uid, bebo_uid, earn_id, referer, agent, ms_uid, hi5_uid)
values (new.crdate, new.ad_id, new.client_ip, new.fb_uid, new.bebo_uid, new.earn_id, new.referer, new.agent, new.ms_uid, new.hi5_uid);
select "_beboface".replicate_partition((select coalesce(max(tab_id), 0) + 1 from "_beboface".sl_table), 'public'::text, 'views_$date'::text, null::text, 'views partition for $date'::text);
eofmy $cmd_tmpl = <
execute script ( set id = 1, event node = 1, filename='$sql_file');
_eof_
eofopen f,">$sql_file" or die "can't open file $sql_file: $!";
print f $sql_tmpl;
close f;
open f,">$cmd_file" or die "can't open file $cmd_file: $!";
print f $cmd_tmpl;
close f;
#my $res = `$cmd_file`;
#print "$res";
2,生成指令碼後,將執行slonik指令碼的命令加入crontab,定時呼叫。
每天10分鐘 10 25
1.hadoop一般廣義和狹義分別指什麼 hadoop生態圈,hadoop軟體2.hadoop軟體哪三個組成 hdfs yarn mapreduce3.hdfs偽分布式的程序簡寫分別是什麼?nn,dn,snn4.yarn偽分布的程序簡寫分別是什麼?nm,rm5.nn節點是幹什麼的 記錄資料節點,維護...
每天10分鐘 10 26
1.我們學習的是sqoop1 那麼匯入匯出,是mysql到hive,是匯出嗎 匯入2.sqoop匯入到hive,能夠根據寫sql來導嗎 可以3.hive內部表和外部表什麼區別 內部表刪除的時候元資料和hdfs路徑也將被刪除,外部表只刪除元資料hdfs保留4.什麼是分割槽表 乙個表按照字段分割槽的表,...
每天10分鐘 10 19
1.當前目錄命令是什麼 pwd2.什麼是叫絕對路徑 什麼是相對路徑 絕對路徑是從根目錄下開始的,而相對路徑是從當前目錄開始的3.切換目錄,那麼切換到上一次和上一層目錄命令是什麼 cd cd 4.資料夾建立命令和及聯建立的命令引數 mkdir mkdir p5.說說你們認為建立檔案的 哪些命令 vi ...