哦,那看起來(lái)是因?yàn)間roup by 的原因了,難道這個(gè)sql的結(jié)果集很大么?
為寶安等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及寶安網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都做網(wǎng)站、網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、寶安網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!
select count(*) c
from table
where column1= ......
and column2 = .......
and column3 in(.., .. , ..,)
and substr(trade_time,1,16) between '2009-01-01 01:01' and '2009-02-06 01:01 ;
你的oracle版本多少?如果是oracle9,在sqlplus中先執(zhí)行這兩個(gè)命令,然后執(zhí)行你的sql看看
alter session set workarea_size_policy=manual;
--排序區(qū)設(shè)置為10M
alter session set sort_area_size=10240000;
如果能加快,證明確實(shí)是排序區(qū)的問(wèn)題了。
----------------------------
好吧,我談?wù)勎业目捶?/p>
1,你問(wèn)題中的sql語(yǔ)句所反映的業(yè)務(wù)邏輯好像就不合理,很明顯 trade_time 這個(gè)列的精度是到秒的,按這個(gè)列進(jìn)行分組然后求各組合計(jì)....我不清楚這代表什么情形的業(yè)務(wù),需求是不是不合理?
2. 如果你數(shù)據(jù)量增長(zhǎng)那么快,靠這個(gè)函數(shù)索引會(huì)很吃力,建議你考慮一下分區(qū)表吧。
總結(jié)一句話就是 寫(xiě) SQL (很多入職一兩年的大數(shù)據(jù)工程師主要的工作就是寫(xiě) SQL )
還有其他的
2 為集群搭大數(shù)據(jù)環(huán)境(一般公司招大數(shù)據(jù)工程師環(huán)境都已經(jīng)搭好了,公司內(nèi)部會(huì)有現(xiàn)成的大數(shù)據(jù)平臺(tái),但我這邊會(huì)私下搞一套測(cè)試環(huán)境,畢竟公司內(nèi)部的大數(shù)據(jù)系統(tǒng)權(quán)限限制很多,嚴(yán)重影響開(kāi)發(fā)效率)
3 維護(hù)大數(shù)據(jù)平臺(tái)(這個(gè)應(yīng)該是每個(gè)大數(shù)據(jù)工程師都做過(guò)的工作,或多或少會(huì)承擔(dān)“運(yùn)維”的工作)
4 數(shù)據(jù)遷移(有部分公司需要把數(shù)據(jù)從傳統(tǒng)的數(shù)據(jù)庫(kù) Oracle、MySQL 等數(shù)據(jù)遷移到大數(shù)據(jù)集群中,這個(gè)是比較繁瑣的工作,吃力不討好)
5 應(yīng)用遷移(有部分公司需要把應(yīng)用從傳統(tǒng)的數(shù)據(jù)庫(kù) Oracle、MySQL 等數(shù)據(jù)庫(kù)的存儲(chǔ)過(guò)程程序或者SQL腳本遷移到大數(shù)據(jù)平臺(tái)上,這個(gè)過(guò)程也是非常繁瑣的工作,無(wú)聊,高度重復(fù)且麻煩,吃力不討好)
6 數(shù)據(jù)采集(采集日志數(shù)據(jù)、文件數(shù)據(jù)、接口數(shù)據(jù),這個(gè)涉及到各種格式的轉(zhuǎn)換,一般用得比較多的是 Flume 和 Logstash)
7 數(shù)據(jù)處理
7.1 離線數(shù)據(jù)處理(這個(gè)一般就是寫(xiě)寫(xiě) SQL 然后扔到 Hive 中跑,其實(shí)和第一點(diǎn)有點(diǎn)重復(fù)了)
7.2 實(shí)時(shí)數(shù)據(jù)處理(這個(gè)涉及到消息隊(duì)列,Kafka,Spark,F(xiàn)link 這些,組件,一般就是 Flume 采集到數(shù)據(jù)發(fā)給 Kafka 然后 Spark 消費(fèi) Kafka 的數(shù)據(jù)進(jìn)行處理)
8 數(shù)據(jù)可視化(這個(gè)我司是用 Spring Boot 連接后臺(tái)數(shù)據(jù)與前端,前端用自己魔改的 echarts)
9 大數(shù)據(jù)平臺(tái)開(kāi)發(fā)(偏Java方向的,大概就是把開(kāi)源的組件整合起來(lái)整成一個(gè)可用的大數(shù)據(jù)平臺(tái)這樣,常見(jiàn)的是各種難用的 PaaS 平臺(tái))
10 數(shù)據(jù)中臺(tái)開(kāi)發(fā)(中臺(tái)需要支持接入各種數(shù)據(jù)源,把各種數(shù)據(jù)源清洗轉(zhuǎn)換為可用的數(shù)據(jù),然后再基于原始數(shù)據(jù)搭建起寬表層,一般為了節(jié)省開(kāi)發(fā)成本和服務(wù)器資源,都是基于寬表層查詢出業(yè)務(wù)數(shù)據(jù))
11 搭建數(shù)據(jù)倉(cāng)庫(kù)(這里的數(shù)據(jù)倉(cāng)庫(kù)的搭建不是指 Hive ,Hive 是搭建數(shù)倉(cāng)的工具,數(shù)倉(cāng)搭建一般會(huì)分為三層 ODS、DW、DM 層,其中DW是最重要的,它又可以分為DWD,DWM,DWS,這個(gè)層級(jí)只是邏輯上的概念,類似于把表名按照層級(jí)區(qū)分開(kāi)來(lái)的操作,分層的目的是防止開(kāi)發(fā)數(shù)據(jù)應(yīng)用的時(shí)候直接訪問(wèn)底層數(shù)據(jù),可以減少資源,注意,減少資源開(kāi)銷是減少 內(nèi)存 和 CPU 的開(kāi)銷,分層后磁盤(pán)占用會(huì)大大增加,磁盤(pán)不值錢(qián)所以沒(méi)什么關(guān)系,分層可以使數(shù)據(jù)表的邏輯更加清晰,方便進(jìn)一步的開(kāi)發(fā)操作,如果分層沒(méi)有做好會(huì)導(dǎo)致邏輯混亂,新來(lái)的員工難以接手業(yè)務(wù),提高公司的運(yùn)營(yíng)成本,還有這個(gè)建數(shù)倉(cāng)也分為建離線和實(shí)時(shí)的)
總之就是離不開(kāi)寫(xiě) SQL ...
主要對(duì)大數(shù)據(jù)進(jìn)行搜集和分析,對(duì)現(xiàn)在的發(fā)展形勢(shì)有一個(gè)預(yù)判,像東莞金碼這樣的學(xué)校還會(huì)專門(mén)開(kāi)設(shè)相關(guān)課程呢。
使用sqoop工具。
1、在行鍵選擇那里,通過(guò)用“”,將需要做行鍵的多個(gè)列寫(xiě)在一起就可以了。
2、例如要將a和b列同時(shí)做行鍵,那么--hbase-row-key "a,b"就可以了。
Sqoop是一款開(kāi)源的工具,主要用于在Hadoop(Hive)與傳統(tǒng)的數(shù)據(jù)庫(kù)(mysql、postgresql...)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如 : MySQL ,Oracle ,Postgres等)中的數(shù)據(jù)導(dǎo)進(jìn)到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫(kù)中。
你這個(gè)不好寫(xiě)。
一般寫(xiě)這個(gè)使用case when 或是 pivot,但得需要有分組或區(qū)別的字段值。但你的這個(gè)數(shù)據(jù),沒(méi)法處理。如果會(huì)員號(hào)+ID能標(biāo)識(shí)一個(gè)聯(lián)系方式,就可以處理了。