




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大數據分析三個技巧:03起源:CIO時代網【文章摘要】大數據性質是有他三個特點(數據量大、種類多、處理速度快)決定,數據分析角色和作用理所當然是由大數據性質決定。當數據分析作用于大數據時,大數據必須身兼數職。意思就是數據分析在一個組織中飾演著多個角色和擔負著多重責任。數據分析職位是由DJPatil和JeffHammerbacher制訂,他們試圖稱呼數據組同事們,而又不想因為稱呼而限制他們能力。(becauseofimproperjobtitlelikebusinessanalystorresearchscientistBuildingDataScienceTeams)伴隨大數據在驅動企業(yè)成功中越來越有決定性作用,數據分析也變得越來越受歡迎。然而,一些領導者對數據分析飾演角色和它所起作用依然不是很了解,就像很多時候領導者不知道怎么從大數據中抽取有用信息,即使很清楚知道這些大數據是很可信。他們腳步落后了——他們眼光在大數據利用上其實是含糊。大數據性質是有他三個特點(數據量大、種類多、處理速度快)決定,數據分析角色和作用理所當然是由大數據性質決定。當數據分析作用于大數據時,大數據必須身兼數職。意思就是數據分析在一個組織中飾演著多個角色和擔負著多重責任。多個知識掌握為了處理數據量大問題,大數據平臺(比如:ApacheHadoop、LexisNexisHPPC)要求數據是被整理過。數據分析員應該具備大數據平臺應用全方位知識,這么才能熟練應用數據平臺處理大數據。數據分析元應該具備以下知識:1、了解大數據平臺框架,比如:DFS和MapReduce,他們編程框架提供強大應用程序設計。這就意味著數據分析員還要有軟件構筑和設計能力。2、精通大數據平臺支持編程語言,比如:Java,Python,C++,orECL,等等。3、具備熟練數據庫知識,尤其是用到SQL語言數據庫,像:HBase,CouchDB,等等。因為大數據平臺經常需要數據庫來存放和轉換數據。4、具備數學/統(tǒng)計學、機器學習、數據挖掘領域專業(yè)知識。一個企業(yè)成功不是由數據量決定,而是由能否成功從大數據中發(fā)覺和抽取有用知識模式和關系決定,然后用這些有價值信息創(chuàng)造出有價值產品。統(tǒng)計學、機器學習和數據挖掘能夠很好用于了解數據和發(fā)掘數據價值。自然,為了成功數據分析者必須具備這些領域專門知識。會使用一些數據挖掘工具或者平臺(比如:R,Excel,SPSSandSAS)是最好,能夠《TopAnalyticsandbigdatasoftwaretools》這本書。5、熟練應用自然語言處理軟件或工具。大數據內容大都來自于文本文件、新聞、社交媒體和匯報、提議書等等。所以了解和掌握最少一個自然語言處理軟件或工具對于做一個成功分析者起著決定性作用。6、應用最少一個數據可視化工具。為了更有效演示數據存在模式和關系,能應用好數據可視化工具無疑是對數據分析員一個加分。這里有20款數據可視化工具鏈接。創(chuàng)新——好奇伴隨數據改變速度加緊,經常也會有新發(fā)覺和問題出現,數據分析員應該對那些改變敏感、對新發(fā)覺好奇,而且找出應對新問題方法。他/她也要熱情及時相互溝通,從新問題中探索新產品思緒和處理方案,成為產品創(chuàng)新駕馭者。商業(yè)技能首先,數據分析員多元化性質決定了數據分析員要好很強溝通能力,在企業(yè)里數據分析員必須和不一樣人溝通,其中包含:溝通和了解業(yè)務需求、應用程序要求、把數據模式和關系翻譯給市場部、產品開發(fā)組和企業(yè)高管看。對于企業(yè)來說有效溝通是及時采取行動應對大數據新發(fā)覺關鍵。數據分析員應該是能聯(lián)絡全部,很好溝通者。第二、數據分析員要具備良好規(guī)劃和組織能力。這么他/她才能巧妙地處理多個任務、樹立正確優(yōu)先次序、確保按時完成任務。第三,數據分析員應該具備說服力、激情、和演講能力。才能引導人們基于數據發(fā)覺做出正確決定,讓人們相信新發(fā)覺價值。數據分析員在某種意義上說是領導者,驅動產品創(chuàng)新。全部這些大數據性質決定了數據分析員該具備技巧和他們在企業(yè)中飾演角色。盤點大數據分析十二大殺手锏分類:
BI
MapReduce-11-1913:12
218人閱讀
評論(0)
\o"收藏"收藏
\o"舉報"舉報
當數據以成百上千TB不停增加時候,我們需要一個獨特技術來應對這種前所未有挑戰(zhàn)。大數據分析迎來大時代全球各行各業(yè)組織機構已經意識到,最準確商務決議來自于事實,而不是憑空臆想。這也就意味著,他們需要在內部交易系統(tǒng)歷史信息之外,采取基于數據分析決議模型和技術支持。互聯(lián)網點擊數據、傳感數據、日志文件、具備豐富地理空間信息移動數據和包括網絡各類評論,成為了海量信息多個形式。極具挑戰(zhàn)性是,傳統(tǒng)數據庫布署不能處理數TB數據,也不能很好支持高級別數據分析。在過去十幾年中,大規(guī)模并行處理(MPP)平臺和列存放數據庫開啟了新一輪數據分析史上革命。而且近年來技術不停發(fā)展,我們開始看到,技術升級帶來已知架構之間界限變得愈加含糊。更為主要是,開始逐步出現了處理半結構化和非結構化信息NoSQL等平臺。大數據分析迎來大時代本文中,我們將向大家介紹迄今為止,包含EMCGreenplum、Hadoop和MapReduce等提供大數據分析產品。另外,惠普前段時間收購實時分析平臺Vertica、IBM獨立基于DB2智能分析系統(tǒng)和Netezza相關產品。當然,也有微軟ParallelDataWarehouse、SAP旗下企業(yè)SybaseSybaseIQ數據倉庫分析工具等。下面,就讓我們來了解業(yè)界大數據分析這十二大產品:1.模塊化EMCAppliance處理多個數據類型EMC收購了Greenplum,隨即,利用EMC本身存放硬件和支持復制與備份功效Greenplum大規(guī)模并行處理(MPP)數據庫,推出了EMCGreenplumDataComputingAppliance(DCA)。經過與SAS和MapR等合作搭檔,DCA擴大了對Greenplum數據庫支持。支持大數據分析EMCAppliance今年5月,EMC推出了自己Hadoop軟件工具,而且該企業(yè)還承諾,今年秋季公布模塊化DCA將支持GreenplumSQL/關系型數據庫,Hadoop布署也能在一樣設備上得到支持。借助Hadoop,EMC能夠處理諸如網絡點擊數據、非結構數據等真正大數據分析困難。模塊化DCA也能夠在一樣設備上支持長久保留高容量存放模塊,從而滿足監(jiān)測需求。2.Hadoop和MapReduce提煉大數據Hadoop是一個開放源碼分布式數據處理系統(tǒng)架構,主要面向存放和處理結構化、半結構化或非結構化、真正意義上大數據(通常成百上千TB甚至PB級別數據)應用。網絡點擊和社交媒體分析應用,正在極大地推進應用需求。Hadoop提供MapReduce(和其余一些環(huán)境)是處理大數據集理想處理方案。MapReduce能將大數據問題分解成多個子問題,將它們分配到成百上千個處理節(jié)點之上,然后將結果聚集到一個小數據集當中,從而更輕易分析得出最終結果。MapReduce結構圖Hadoop能夠運行在低成本硬件產品之上,經過擴展能夠成為商業(yè)存放和數據分析代替方案。它已經成為很多互聯(lián)網巨頭,比如AOL、eHarmony(美國在線約會網站)、易趣、Facebook、Twitter和Netflix大數據分析主要處理方案。也有更多傳統(tǒng)巨頭企業(yè)比如摩根大通銀行,也正在考慮采取這一處理方案。3.惠普Vertica電子商務分析今年二月被惠普收購Vertica,是能提供高效數據存放和快速查詢列存放數據庫實時分析平臺。相比傳統(tǒng)關系數據庫,更低維護和運行成本,就能夠取得更加快速布署、運行和維護。該數據庫還支持大規(guī)模并行處理(MPP)。在收購之后,惠普隨即推出了基于x86硬件HPVertica。經過MPP擴展性能夠讓Vertica為高端數字營銷、電子商務客戶(比如AOL、Twitter、Groupon)分析處理數據達成PB級?;萜誚ertica實時分析平臺其實,早在惠普收購之前,Vertica就推出有包含內存、閃存快速分析等一系列創(chuàng)新產品。它是首個新增Hadoop鏈接支持客戶管理關系型數據產品之一,也是首個基于云布署風險產品平臺之一。現在,Vertica支持惠普云服務自動化處理方案。4.IBM提供運維和分析數據倉庫去年,IBM推出了基于DB2SmartAnalyticSystem(圖中左側),那么它為何還要收購另外Netezza方案平臺呢?因為前者是具備高擴展性企業(yè)數據倉庫平臺,能夠支持成千上萬用戶和各類應用操作。比如,呼叫中心通常擁有大量雇員需要快速回撥客戶歷史通話統(tǒng)計。SmartAnalyticSystem提供了整合信息DB2數據庫,預配置CognosBI軟件模塊,能夠在IBMPowerSystem(RISC或者X86架構)上運行。SmartAnalyticSystem及NetezzaNetezza致力于為數字化營銷企業(yè)、電信、和其余挖掘成百上千TB甚至PB級別數據企業(yè),提供高可擴展分析應用處理方案。IBMNetezzaTwinFin數據倉庫設備,支持大規(guī)模并行處理,能夠在一天時間內布署完成。Netezza支持多個語言和方式進行數據庫分析,其中包含Java、C、C++、Python和MapReduce。與此同時,它還支持如SAS,IBMSPSS使用矩陣操作方法和R編程語言。IBMNetezza最近增加了一個高容量長久存檔設備以滿足更多要求。5.Infobright降低DBA工作量和查詢時間Infobright列存放數據庫,意在為數十TB級別數據提供各類分析服務。而這一塊也正是甲骨文和微軟SQLServer關鍵市場之一。InfoBright還表示,建立在MySQL基礎之上數據庫也提供了另外一個選擇,它專門針對分析應用、低成本簡化勞動力工作、交付高性能服務進行設計。列存放數據庫能夠自動創(chuàng)建索引,而且無需進行數據分區(qū)和DBA調整。相比傳統(tǒng)數據庫,它能夠降低90%人工工作量,而且由于其采取高數據壓縮,在數據庫許可和存放等方面開支也能夠降低二分之一。KnowledgeGrid查詢引擎InfoBright最新4.0版本產品,新增了一個DomainExpert功效。企業(yè)用戶能夠借此忽略不停重復那些數據,比如郵箱地址、URL和IP地址。與此同時,企業(yè)還能夠增加與呼叫統(tǒng)計、業(yè)務交易或者地理位置信息相關數據。KowledgeGrid查詢引擎則能夠幫助過濾那些靜態(tài)數據而只關注那些改變數據。也就是說,它能夠幫助節(jié)約數據查詢時間,因為那些無關數據無需進行解壓縮和篩選。6.Kognitio提供三倍速度和虛擬多維數據集Kognitio是一家本身不生產硬件產品數據庫廠商,它看到了客戶對快速布署廣泛興趣和市場需求,推出了在惠普、IBM硬件產品上預配置有WX2數據庫Lakes、Rivers和Rapids處理方案。Lakes能夠以低成本、10TB數據存放和每個模塊48個運算關鍵提供大容量存放服務。電信或金融服務企業(yè),能夠使用這種配置來掃描大量分支結構各種信息統(tǒng)計。Rivers則提供了容量和速度之間平衡,預配置為2.5TB存放容量,它每個模塊擁有48個運算關鍵。而追求查詢性能Rapids,其預配置提供有96個運算關鍵,每個模塊僅僅為1.5TB。該產品方案主要針對金融企業(yè)在算法交易或者其余高性能要求方面需求。Kognitio基于內存運算數據倉庫和數據分析今年,Kognitio新增了一個虛擬化OLAP格調Pablo分析引擎。它提供了靈活、為企業(yè)用戶進行分析處理方案。用戶可升級選取WX2構建一個虛擬多維數據集。所以,WX2數據庫中任何一個維度數據都可在內存中用于快速分析。這種分析前端接口是我們常見MicrosoftExcel。7.微軟SQLServer新增PDW功效今年年初微軟公布SQLServerR2ParallelDataWarehouse(PDW,并行數據倉庫),一改以往SQLServer布署時間需要花費兩年半時間歷史,它能夠幫助客戶擴展布署數百TB級別數據分析處理方案。支持這一產品包含有合作搭檔惠普硬件平臺。公布之初,即使微軟官網提供有讓利折扣,但PDW售價仍超出13000美元/TB(用戶和硬件訪問量)。SQLServerPDW和很多產品一樣,PDW使用了大規(guī)模并行處理來支持高擴展性,但微軟進入這一市場實屬“姍姍來遲”,而且在一定程度上說,數據倉庫分析和內存分析計算市場落下了后腿。現在,微軟寄希望于其整體數據庫平臺在市場上帶來差異化競爭力。這意味著,全部沿襲了基于微軟平臺數據和數據管理,將被廣泛應用在信息集成領域——ReportingandAnalysisServices,而這一切都基于SQLServer數據庫。微軟在今年10月12日經過推出ApacheHadoop和相關SQLAzureHadoop服務,宣告進入大數據領域。Azure服務將在底亮相,而對應當地配套軟件要在明年上六個月推出,現在也不清楚微軟是否會與其余硬件合作搭檔或者相關大數據設備廠商合作。8.甲骨文講述EngineeredSystems故事甲骨文表示,Exadata(圖中左側)是迄今以來公布產品中最為成功產品,自從推出以來,已經擁有超出1000名客戶。而engineeredsystem使得甲骨文11g數據庫,能夠支持基于X86數據處理和磁盤存放層,其閃存緩存也使得能夠實現超快速查詢處理。它既可應用在任意事務環(huán)境中,也能夠應用在數據倉庫(但不能同時進行)。Exadata混合柱狀壓縮能夠實現列存放數據庫一些高效率特點,提供高達10:1壓縮比,而大部分行存放數據庫平均壓縮比為4:1。甲骨文在9月經過宣告OracleSuperCluster(圖中右側),擴展了engineeredsystems產品家族。它采取了最新SunSparcT-4芯片。SuperCluster支持全機架/半機架配置,而且用戶能夠在半機架容量基礎上進行擴容。滿額配置提供有1200個CPU線程,4TB內存,97TB至198TB磁盤存放,8.66TB閃存。甲骨文大數據分析系統(tǒng)設施甲骨文聲稱,SuperCluster事務處理和數據倉庫性能相比傳統(tǒng)服務器架構能分別帶來10倍和50倍速度提升。但作為一個專有Unix機器,甲骨文想經過SuperCluster,在面向x86硬件數據倉庫布署遷移大潮中力挽狂瀾。甲骨文Exadata和Exalogic都基于x86架構而且運行Linux系統(tǒng)。在十月召開OracleOpenWorld中,甲骨文宣告將新增一個分布式pacheHadoop軟件和相關大數據設備。甲骨文也計劃推出一個獨立基于開源BerkeleyDB產品NoSQL。9.ParAccel大打列存放、MPP和數據庫分析組合拳ParAccel是ParAccelAnalyticDatabase(PADB)開發(fā)廠商——提供快速、選擇性查詢和列存放數據庫,并基于大規(guī)模并行處理優(yōu)勢特點產品。該公式表示,其平臺支持一系列針對各種復雜、先進應用工作負載匯報和分析。ParAccel大數據處理方案內置分析算法能夠為分析師提供高級數學運算、數據統(tǒng)計、和數據挖掘等各種功效,同時,它還提供一個開放API,能夠擴展數據庫各種數據處理能力和第三方分析應用。Tablefunctions被用來傳送和接收第三方和采取C、C++等編寫定制算法數據結果。ParAccel與FuzzyLogix——一家提供各種描述統(tǒng)計學、統(tǒng)計試驗模擬和模式識別功效庫功效服務商。另外,Tablefunctions還支持MapReduce和廣泛應用在金融服務700多個分析技術。10.Sybase推進IQ列存放數據庫SAP旗下Sybase是列存放數據庫管理系統(tǒng)首批廠商,而且現在依然是擁有多個客戶暢銷廠商。今年夏天推出了SybaseIQ15.3版本,該版本產品能夠處理更多數據和更多數據類型,也能勝任更多查詢,當然這主要得益于其包含了一個名叫PlexQ大規(guī)模并行處理功效?;贛PP大規(guī)模并行處理PlexQ分布式查詢平臺,經過將任務分散到網格配置中多臺計算機,加速了高度復雜查詢。有報道說,它能提供比現有IQ布署快12倍交付能力。SybaseIQ為了支持不一樣分析,15.3版本產品增加了分布式處理功效,來執(zhí)行PlexQ網格中跨CPU查詢服務。為了確保實現最快速度查詢,PlexQ包含了一個邏輯服務器——讓管理員對PlexQ網格物理服務器組成虛擬群集,方便優(yōu)化分析工作負載、用戶需求和應用程序。SybaseIQ和其余大多數支持MPP功效產品之間區(qū)分主要在于,它采取了全共享方式。全共享缺點是CPU會爭相訪問共享存放(通常是SAN),而這會降低查詢性能。不過Sybase堅持認為,從優(yōu)化查詢角度來說全共享會愈加靈活,因為全部CPU都會訪問全部數據。所以,我們能夠對某個特定查詢盡可能多(或者少)地分配計算資源。11.Teradata從EDWs跨入大規(guī)模分析領域一旦成為企業(yè)級數據倉庫(EDW)宣傳者,近年來Teradata就已經放松了擴展Teradata數據庫產品家族步伐。該企業(yè)高性能、高容量產品被廣泛采取和復制,因為其中包含了很多企業(yè)工作量管理功效模塊,包含虛擬OLAP(三維立體式)分析模型。Teradata在數據庫分析領域不停推陳出新,但在結構化數據、半結構化數據和大部分非結構化數據領域幾乎沒有很大結果。這也就是為何該企業(yè)要收購AsterData——一家提供SQL-MapReduce框架企業(yè)。MapReduce處理擁有廣泛市場需求,因為存在著大量互聯(lián)網點擊數據、傳感數據和社交媒體內容。Teradata平臺產品家族Teradata日前宣告了一項AsterDataMapReduce產品計劃,它建立在以往產品一樣硬件平臺之上,而且在Teradata和AsterData之間新增了兩種集成方法。經過收購,Teradata打破了在數據倉儲業(yè)被認為最廣泛、最具擴展性界限。12.1010data提供基于云計算大數據分析正如標題所說,1010data能夠提供基于云計算大數據分析平臺。很大數據庫平臺供給商提供基于云沙箱測試和開發(fā)環(huán)境,但1010data管理數據庫服務,主要針對將整個工作負載遷移到云全過程。該服務支持一個提供“豐富而又高級內置分析功效”,其中包含有預測分析。其一大賣點是服務包含了數據建模和設計、信息集成和數據轉換。1010data提供基于云計算大數據分析其客戶包含有對沖基金、全球各大銀行、證券交易商,零售商和包裝消費品企業(yè)。何謂大數據?大數據,也就是國外常說BigData。IBM把大數據概括成了三個V,即大量化(Volume)、多樣化(Variety)和快速化(Velocity)。這些特點也反應了大數據所潛藏價值(Value),我們也能夠認為,四個V高度概括了大數據基本特征。業(yè)界比較一致對大數據定義是:大數據是指無法在一定時間內用常規(guī)軟件工具對其內容進行抓取、管理和處理數據集合。大數據時代分析技術怎樣進化-06-1907:30比特網袁斌關鍵字:FICO
大數據
費埃哲當你在應用信用卡進行交易時,你可能沒有意識到,這筆交易是否成功,是由費埃哲(FICO)企業(yè)產品在后臺進行智能判斷和監(jiān)測。現在,費埃哲企業(yè)Falcon處理方案在幫助客戶監(jiān)控全球2/3信用卡交易,并從中分辨欺詐活動。顯然,這是一個非常經典大數據應用——銀行天天信用卡交易數都是一個天文數字,怎樣有效處理和判別這些數據,幫助企業(yè)做出正確決議?在非結構化數據洶涌增加今天,費埃哲企業(yè)又是怎樣判斷大數據時代分析技術進展?日前,比特網記者采訪了費埃哲(FICO)企業(yè)首席執(zhí)行官WillLansing先生。費埃哲(FICO)企業(yè)首席執(zhí)行官WillLansing先生問:大數據對軟件和硬件都有非常強挑戰(zhàn),所以現在業(yè)界有一個趨勢,要做軟硬件結合,以更緊密一體機形式來提供分析服務。最經典產品,比如甲骨文企業(yè)Exalytics系統(tǒng)。那么,您是怎樣對待這一趨勢?費埃哲企業(yè)會怎樣愈加好地與硬件進行優(yōu)化整合?答:這是一個非常好問題。就費埃哲企業(yè)而言,基礎架構并不是我們專長,所以我們要和我們客戶去合作。現在,我們有一些合作方式是基于SaaS,也有一些是基于其它各類處理方案。費埃哲企業(yè)并不強制客戶使用某種特定基礎架構來運行我們應用、捕捉應用數據,而是在客戶現有基礎架構運行優(yōu)化、進行合作。實際上,費埃哲企業(yè)也在和一些試驗室合作,比如Cloudera,借此來拓展我們能力,消除我們(對硬件基礎設施在了解上)不足。問:在大數據分析方面,數學模型非常主要。我們知道,費埃哲企業(yè)在金融領域有很深積累。那么,這種積累怎樣推廣到其余行業(yè)?答:費埃哲企業(yè)在垂直行業(yè)已經有很長時間積累了,這也是我們能夠將業(yè)務拓展到非金融行業(yè)一大原因。我們企業(yè)非常擅長分析一些復雜、困難問題,這些分析技巧不但適適用于金融行業(yè),也適適用于其余多個行業(yè)。比如,我們對于客戶行為了解,就不局限于金融行業(yè),還包含保險行業(yè)和零售行業(yè)。在保險行業(yè)當中,一些欺詐行為和在銀行業(yè)當中信用卡欺詐用戶行為是非常類似。而在營銷處理方案方面,很多零售行業(yè)客戶行為和銀行客戶行為也非常近似。所以,我們在金融行業(yè)客戶管理經驗,也能夠應用到零售行業(yè)。以費埃哲企業(yè)在中國業(yè)務發(fā)展為例,銀行業(yè)務是最傳統(tǒng)領域。但從一年前開始,費埃哲就開始把我們成熟技術推向保險領域,幫助保險企業(yè)做理賠反欺詐。盡管保險行業(yè)業(yè)務特點跟銀行不太一樣,但我們技術是一樣適用,而且我們在國外保險行業(yè)也有所積累。所以,費埃哲在國內保險理賠反欺詐案例就非常成功——客戶回訪時,他們表示,現在能夠經過數據分析,實時抓住大批量理賠欺詐。問:我們也注意到,您提到了信用卡反欺詐這個大數據應用。但相對而言,這都是針對結構化數據,針對郵件、文本這些非結構化數據,費埃哲企業(yè)將采取哪些處理方案去處理?答:大數據定義當中,包含3個V(高容量、高速度、多類型)。即使費埃哲信用卡反欺詐處理方案只是針對結構化數據,但我們已經能夠處理大容量數據和高速數據。到現在為止,我們還是采取相對傳統(tǒng)方式,將數據簡化到一個智能、可操作層面,然后基于這些數據來做出快速決議。盡管我們現在只能做到這三個V當中兩個,但我們非??拷昝赖貋硖幚磉@個問題。伴隨基礎架構不停完善和演進,費埃哲處理方案也會發(fā)生改變。問:在數據暴發(fā)時代,我們進行數據分析方式需要改變嗎?答:我們關于大數據絕大多數討論都集中在數據規(guī)模,并沒有對應關注在數據分析方式改變?!皵祿鳌狈治鰧τ贔ICO并不陌生,其中最好應用莫過于我們反欺詐處理方案——FICOFalconFraudManager。Falcon模型依靠交易特征,它概括了數據在交易過程中特征,方便計算相關欺詐特點變量,而不依賴由此生成現有數據。我們在數據流特征分析領域不停推進創(chuàng)新,尤其在反欺詐領域。這些創(chuàng)新技術包含:全球智能特征識別技術。它能夠自動發(fā)覺銀行卡交易、ATM和商戶交易中不正常行為。再比如FICO企業(yè)開發(fā)自我校正分析技術,它能夠伴隨客戶行為模式改變,服務渠道改變而改進偵測準確性。另一個由大數據帶來改變是分析必須降低對于固有數據依賴。分析模型將能夠依照數據流中動態(tài)數據自我調整。為了應對不停增加數據流中動態(tài)數據,我們集中研發(fā)了自我學習一些技術,包含:自適應分析和自我矯正分析技術。我們堅信這些關鍵技術將填補傳統(tǒng)方式不足。自學習技術甚至將可能在一些領域取代傳統(tǒng)模式。最近,我們在自己開發(fā)自我校正分析技術上取得了重大進展。已申請專利“多層自我校正分析技術”體系結構與神經網絡模式類似,但與之不一樣是新模式能夠在數據流中自我校正。使用多層自我校正模式將需要更少數據采樣,而且能夠直接與自適應分析技術聯(lián)合使用,能夠更為動態(tài)地發(fā)覺欺詐。將“多層自我校對系統(tǒng)”與現在通用技術相比,我們預見未來分析技術將大幅提升。問:更深入地說,現在大數據分析,都是數據進行篩選、過濾到數據倉庫當中,然后進行分析。伴隨硬件設備在性能和容量上不停提升,還有必要對傳統(tǒng)分析技術進行大規(guī)模改進嗎?答:今天大數據分析情況確實如你所說這么。但我相信,在不遠未來,我們會需要直接對大數據進行分析。這種分析可能有兩種方式:一個是伴隨數據集不停增加,我們需要重新建?!跀祿煌T黾忧闆r下,可能需要考慮應用Hadoop技術進行存放,不然我們就沒有容量足夠大存放空間;另一個方式則是采取基于機器學習方法,來進行大數據處理和分析。至于硬件性能,可能現在還不是問題,但當我們考慮全部數據,并從中找出最有價值地方時,用現有基礎架構就會顯得遠遠不夠。比如,今天銀行客戶,他們已經知道,未來他們數據是分散、遍布各地,可能在銀行內部,可能在局域網或者在云里面,他們希望這些數據都能夠被讀取,都對數據進行分析。顯然,這是今天架構無法完成,這需要未來才能夠實現。問:那么,您認為機器學習和傳統(tǒng)模型這兩種數據分析方式,哪種更有發(fā)展前途?答:大數據最終目標就是利用各種數據來做出最好決議。大數據最美地方,就是我們不再受數據容量局限,它能夠不停增加一些變量,然后增加價值,幫助我們做出愈加好決議。如你所提到,現在我們有兩種模型,一個是基于假設模型,比如前幾年麥肯錫提出來假設模型,說我們要關注哪些高價值數據,關注相關領域數據,關注那些能夠提升效率數據。另一個模型就是一個不是基于假設模型,確切地說,是一個機器學習模型。這種模型跟假設模型完全不一樣。我并不認為這兩種模型能夠相互代替。從長久來看,一定會有更多數據需要我們去關注。對大數據來說,它能夠不停增加變量,幫助我們基于這些數據做出愈加好決議,這是它尤其有優(yōu)勢一個地方。我個人認為,在比較長一段時間之后,機器學習這種方式,有可能會取代假設這種模型。問:在金融領域機器學習應該具備什么特征?答:以小額貸款機器學習為例,這需要非??焖儆^察和衡量,能夠快速發(fā)覺壞帳,這么才能夠快速學習、調整。盡管現在也有一些企業(yè)推出了所謂機器學習,但這是非常有不足,主要是用于展示,展示出新科技所帶來可能性,并告訴客戶這個新科技能夠不停完善,而且最終能夠降低風險。技術基礎:大數據分析技術發(fā)展ZDNet存放系統(tǒng)起源:賽迪網05月16日評論(0)關鍵詞:大數據MapReduce谷歌本文摘要大數據分析技術最初起源于互聯(lián)網行業(yè)。網頁存檔、用戶點擊、商品信息、用戶關系等數據形成了連續(xù)增加海量數據集。這些大數據中蘊藏著大量能夠用于增強用戶體驗、提升服務質量和開發(fā)新型應用知識,而怎樣高效和準確發(fā)覺這些知識就基本決定了各大互聯(lián)網企業(yè)在激烈競爭環(huán)境中位置。首先,以谷歌為首技術型互聯(lián)網企業(yè)提出了MapReduce技術框架,利用廉價PC服務器集群,大規(guī)模并發(fā)處理批量事務。大數據分析技術最初起源于互聯(lián)網行業(yè)。網頁存檔、用戶點擊、商品信息、用戶關系等數據形成了連續(xù)增加海量數據集。這些大數據中蘊藏著大量能夠用于增強用戶體驗、提升服務質量和開發(fā)新型應用知識,而怎樣高效和準確發(fā)覺這些知識就基本決定了各大互聯(lián)網企業(yè)在激烈競爭環(huán)境中位置。首先,以谷歌為首技術型互聯(lián)網企業(yè)提出了MapReduce技術框架,利用廉價PC服務器集群,大規(guī)模并發(fā)處理批量事務。利用文件系統(tǒng)存放非結構化數據,加上完善備份和容災策略,這套經濟實惠大數據處理方案與之前昂貴企業(yè)小型機集群+商業(yè)數據庫方案相比,不但沒有丟失性能,而且還贏在了可擴展性上。之前,我們在設計一個數據中心處理方案前期,就要考慮到方案實施后可擴展性。通常方法是預估今后一段時期內業(yè)務量和數據量,加入多出計算單元(CPU)和存放,以備不時只需。這么方式直接造成了前期一次性投資巨大,而且即使這么也依然無法確保計算需求和存放超出設計量時系統(tǒng)性能。而一旦需要擴容,問題就會接踵而來。首先是商業(yè)并行數據庫通常需要各節(jié)點物理同構,也就是具備近似計算和存放能力。而伴隨硬件更新,我們通常加入新硬件都會強于已經有硬件。這么,舊硬件就成為了系統(tǒng)瓶頸。為了確保系統(tǒng)性能,我們不得不把舊硬件逐步替換掉,經濟成本損失巨大。其次,即使是當前最強商業(yè)并行數據庫,其所能管理數據節(jié)點也只是在幾十或上百這個數量級,這主要是因為架構上設計問題,所以其可擴展性必定有限。而MapReduce+GFS框架,不受上述問題困擾。需要擴容了,只需增加個機柜,加入適當計算單元和存放,集群系統(tǒng)會自動分配和調度這些資源,絲毫不影響現有系統(tǒng)運行。如今,我們用得更多是谷歌MapReduce開源實現,即Hadoop。除了計算模型發(fā)展,與此同時,人們也在關注著數據存放模型。傳統(tǒng)關系型數據庫因為其規(guī)范設計、友好查詢語言、高效數據處理在線事務能力,長時間地占據了市場主導地位。然而,其嚴格設計定式、為確保強一致性而放棄性能、可擴展性差等問題在大數據分析中被逐步暴露。隨之而來,NoSQL數據存放模型開始風靡。NoSQL,也有些人了解為NotOnlySQL,并不是一個特定數據存放模型,它是一類非關系型數據庫統(tǒng)稱。其特點是:沒有固定數據表模式、能夠分布式和水平擴展。NoSQL并不是單純反對關系型數據庫,而是針對其缺點一個補充和擴展。經典NoSQL數據存放模型有文檔存放、鍵-值存放、圖存放、對象數據庫、列存放等。而比較流行,不得不提到谷歌提出Bigtable。Bigtable是一個用于管理海量結構化數據分布式存放系統(tǒng),其數據通常能夠跨成千個節(jié)點進行分布式存放,總數據量可達PB級(1015次方字節(jié),106GB)。HBase是其開源實現。如今,在開源小區(qū),圍繞谷歌MapReduce框架,成長出了一批優(yōu)異開源項目。這些項目在技術和實現上相互支持和依靠,逐步形成了一個特有生態(tài)系統(tǒng)。這里借用Cloudera所描繪架構圖來展現Hadoop生態(tài)系統(tǒng)。這個系統(tǒng)為我們實現優(yōu)質廉價大數據分析提供了堅實技術基礎。使用Storm實現實時大數據分析!實時Storm大數據摘要:伴隨數據體積越來越大,實時處理成為了許多機構需要面正確首要挑戰(zhàn)。ShruthiKumar和SiddharthPatankar在Dr.Dobb’s上結合了汽車超速監(jiān)視,為我們演示了使用Storm進行實時大數據分析。CSDN在此編譯、整理。簡單和明了,Storm讓大數據分析變得輕松加愉快。當今世界,企業(yè)日常運行經常會生成TB級別數據。數據起源囊括了互聯(lián)網裝置能夠捕捉任何類型數據,網站、社交媒體、交易型商業(yè)數據以及其它商業(yè)環(huán)境中創(chuàng)建數據??紤]到數據生成量,實時處理成為了許多機構需要面正確首要挑戰(zhàn)。我們經慣用一個非常有效開源實時計算工具就是Storm
——Twitter開發(fā),通常被比作“實時Hadoop”。然而Storm遠比Hadoop來簡單,因為用它處理大數據不會帶來新老技術交替。ShruthiKumar、SiddharthPatankar共同效力于Infosys,分別從事技術分析和研發(fā)工作。本文詳述了Storm使用方法,例子中項目名稱為“超速報警系統(tǒng)(SpeedingAlertSystem)”。我們想實現功效是:實時分析過往車輛數據,一旦車輛數據超出預設臨界值——便觸發(fā)一個trigger并把相關數據存入數據庫。Storm對比Hadoop批處理,Storm是個實時、分布式以及具備高容錯計算系統(tǒng)。同Hadoop一樣Storm也能夠處理大批量數據,然而Storm在確保高可靠性前提下還能夠讓處理進行愈加實時;也就是說,全部信息都會被處理。Storm一樣還具備容錯和分布計算這些特征,這就讓Storm能夠擴展到不一樣機器上進行大批量數據處理。他一樣還有以下這些特征:易于擴展。對于擴展,你只需要添加機器和改變對應topology(拓撲)設置。Storm使用HadoopZookeeper進行集群協(xié)調,這么能夠充分確保大型集群良好運行。每條信息處理都能夠得到確保。Storm集群管理簡易。Storm容錯機能:一旦topology遞交,Storm會一直運行它直到topology被廢除或者被關閉。而在執(zhí)行中出現錯誤時,也會由Storm重新分配任務。盡管通常使用Java,Storm中topology能夠用任何語言設計。當然為了愈加好了解文章,你首先需要安裝和設置Storm。需要經過以下幾個簡單步驟:從Storm官方下載Storm安裝文件將bin/directory解壓到你PATH上,并確保bin/storm腳本是可執(zhí)行。Storm組件Storm集群主要由一個主節(jié)點和一群工作節(jié)點(workernode)組成,經過Zookeeper進行協(xié)調。主節(jié)點:主節(jié)點通常運行一個后臺程序——Nimbus,用于響應分布在集群中節(jié)點,分配任務和監(jiān)測故障。這個很類似于Hadoop中JobTracker。工作節(jié)點:工作節(jié)點一樣會運行一個后臺程序——Supervisor,用于收聽工作指派并基于要求運行工作進程。每個工作節(jié)點都是topology中一個子集實現。而Nimbus和Supervisor之間協(xié)調則經過Zookeeper系統(tǒng)或者集群。ZookeeperZookeeper是完成Supervisor和Nimbus之間協(xié)調服務。而應用程序實現實時邏輯則被封裝進Storm中“topology”。topology則是一組由Spouts(數據源)和Bolts(數據操作)經過StreamGroupings進行連接圖。下面對出現術語進行更深刻解析。Spout:簡而言之,Spout從起源處讀取數據并放入topology。Spout分成可靠和不可靠兩種;當Storm接收失敗時,可靠Spout會對tuple(元組,數據項組成列表)進行重發(fā);而不可靠Spout不會考慮接收成功是否只發(fā)射一次。而Spout中最主要方法就是nextTuple(),該方法會發(fā)射一個新tuple到topology,假如沒有新tuple發(fā)射則會簡單返回。Bolt:Topology中全部處理都由Bolt完成。Bolt能夠完成任何事,比如:連接過濾、聚合、訪問文件/數據庫、等等。Bolt從Spout中接收數據并進行處理,假如碰到復雜流處理也可能將tuple發(fā)送給另一個Bolt進行處理。而Bolt中最主要方法是execute(),以新tuple作為參數接收。不論是Spout還是Bolt,假如將tuple發(fā)射成多個流,這些流都能夠經過declareStream()來申明。StreamGroupings:StreamGrouping定義了一個流在Bolt任務間該怎樣被切分。這里有Storm提供6個StreamGrouping類型:1.隨機分組(Shufflegrouping):隨機分發(fā)tuple到Bolt任務,確保每個任務取得相等數量tuple。2.字段分組(Fieldsgrouping):依照指定字段分割數據流,并分組。比如,依照“user-id”字段,相同“user-id”元組總是分發(fā)到同一個任務,不一樣“user-id”元組可能分發(fā)到不一樣任務。3.全部分組(Allgrouping):tuple被復制到bolt全部任務。這種類型需要慎重使用。4.全局分組(Globalgrouping):全部流都分配到bolt同一個任務。明確地說,是分配給ID最小那個task。5.無分組(Nonegrouping):你不需要關心流是怎樣分組?,F在,無分組等效于隨機分組。但最終,Storm將把無分組Bolts放到Bolts或Spouts訂閱它們同一線程去執(zhí)行(假如可能)。6.直接分組(Directgrouping):這是一個尤其分組類型。元組生產者決定tuple由哪個元組處理者任務接收。當然還能夠實現CustomStreamGroupimg接口來定制自己需要分組。項目實施當下情況我們需要給Spout和Bolt設計一個能夠處理大量數據(日志文件)topology,當一個特定數據值超出預設臨界值時促發(fā)警報。使用Stormtopology,逐行讀入日志文件而且監(jiān)視輸入數據。在Storm組件方面,Spout負責讀入輸入數據。它不但從現有文件中讀入數據,同時還監(jiān)視著新文件。文件一旦被修改Spout會讀入新版本而且覆蓋之前tuple(能夠被Bolt讀入格式),將tuple發(fā)射給Bolt進行臨界分析,這么就能夠發(fā)覺全部可能超臨界統(tǒng)計。下一節(jié)將對用例進行詳細介紹。臨界分析這一節(jié),將主要聚焦于臨界值兩種分析類型:瞬間臨界(instantthershold)和時間序列臨界(timeseriesthreshold)。瞬間臨界值監(jiān)測:一個字段值在那個瞬間超出了預設臨界值,假如條件符合話則觸發(fā)一個trigger。舉個例子當車輛超越80公里每小時,則觸發(fā)trigger。時間序列臨界監(jiān)測:字段值在一個給定時間段內超出了預設臨界值,假如條件符合則觸發(fā)一個觸發(fā)器。比如:在5分鐘類,時速超出80KM兩次及以上車輛。ListingOne顯示了我們將使用一個類型日志,其中包含車輛數據信息有:車牌號、車輛行駛速度以及數據獲取位置。AB12360NorthcityBC12370SouthcityCD23440SouthcityDE12340East
cityEF12390SouthcityGH12350West
city這里將創(chuàng)建一個對應XML文件,這將包含引入數據模式。這個XML將用于日志文件解析。XML設計模式和對應說明請見下表。XML文件和日志文件都存放在Spout能夠隨時監(jiān)測目錄下,用以關注文件實時更新。而這個用例中topology請見下列圖。Figure1:Storm中建立topology,用以實現數據實時處理如圖所表示:FilelistenerSpout接收輸入日志并進行逐行讀入,接著將數據發(fā)射給ThresoldCalculatorBolt進行更深一步臨界值處理。一旦處理完成,被計算行數據將發(fā)送給DBWriterBolt,然后由DBWriterBolt存入給數據庫。下面將對這個過程實現進行詳細解析。Spout實現Spout以日志文件和XML描述文件作為接收對象。XML文件包含了與日志一致設計模式。不妨構想一下一個示例日志文件,包含了車輛車牌號、行駛速度、以及數據捕捉位置。(看下列圖)Figure2:數據從日志文件到Spout流程圖ListingTwo顯示了tuple對應XML,其中指定了字段、將日志文件切割成字段定界符以及字段類型。XML文件以及數據都被保留到Spout指定路徑。ListingTwo:用以描述日志文件XML文件。<TUPLEINFO>
<FIELDLIST>
<FIELD>
<COLUMNNAME>vehicle_number</COLUMNNAME>
<COLUMNTYPE>string</COLUMNTYPE>
</FIELD>
<FIELD><COLUMNNAME>speed</COLUMNNAME>
<COLUMNTYPE>int</COLUMNTYPE>
</FIELD>
<FIELD>
<COLUMNNAME>location</COLUMNNAME>
<COLUMNTYPE>string</COLUMNTYPE>
</FIELD>
</FIELDLIST>
<DELIMITER>,</DELIMITER>
</TUPLEINFO>
經過結構函數及它參數Directory、PathSpout和TupleInfo對象創(chuàng)建Spout對象。TupleInfo儲存了日志文件字段、定界符、字段類型這些很必要信息。這個對象經過XSTream序列化XML時建立。Spout實現步驟:對文件改變進行分開監(jiān)聽,并監(jiān)視目錄下有沒有新日志文件添加。在數據得到了字段說明后,將其轉換成tuple。申明Spout和Bolt之間分組,并決定tuple發(fā)送給Bolt路徑。Spout詳細編碼在ListingThree中顯示。ListingThree:Spout中open、nextTuple和delcareOutputFields方法邏輯。public
void
open(
Map
conf,
TopologyContext
context,SpoutOutputCollector
collector
)
{
_collector
=
collector;
try
{
fileReader
=
new
BufferedReader(new
FileReader(new
File(file)));
}
catch
(FileNotFoundException
e)
{
System.exit(1);
}
}
public
void
nextTuple()
{
protected
void
ListenFile(File
file)
{
Utils.sleep();
RandomAccessFile
access
=
null;
String
line
=
null;
try
{
while
((line
=
access.readLine())
!=
null)
{
if
(line
!=null)
{
String[]
fields=null;
if
(tupleInfo.getDelimiter().equals("|"))
fields
=
line.split("\\"+tupleInfo.getDelimiter());
else
fields
=
line.split
(tupleInfo.getDelimiter());
if
(tupleInfo.getFieldList().size()
==
fields.length)
_collector.emit(new
Values(fields));
}
}
}
catch
(IOException
ex){
}
}
}
public
void
declareOutputFields(OutputFieldsDeclarer
declarer)
{
String[]
fieldsArr
=
new
String
[tupleInfo.getFieldList().size()];
for(int
i=0;
i<tupleInfo.getFieldList().size();
i++)
{
fieldsArr[i]
=
tupleInfo.getFieldList().get(i).getColumnName();
}
declarer.declare(new
Fields(fieldsArr));
}
declareOutputFileds()決定了tuple發(fā)射格式,這么話Bolt就能夠用類似方法將tuple譯碼。Spout連續(xù)對日志文件數據變更進行監(jiān)聽,一旦有添加Spout就會進行讀入而且發(fā)送給Bolt進行處理。Bolt實現Spout輸出結果將給予Bolt進行更深一步處理。經過對用例思索,我們topology中需要如Figure3中兩個Bolt。Figure3:Spout到Bolt數據流程。ThresholdCalculatorBoltSpout將tuple發(fā)出,由ThresholdCalculatorBolt接收并進行臨界值處理。在這里,它將接收好幾項輸入進行檢驗;分別是:臨界值檢驗臨界值欄數檢驗(拆分成字段數目)臨界值數據類型(拆分后字段類型)臨界值出現頻數臨界值時間段檢驗ListingFour中類,定義用來保留這些值。ListingFour:ThresholdInfo類public
class
ThresholdInfo
implementsSerializable
{
private
String
action;
private
String
rule;
private
Object
thresholdValue;
private
int
thresholdColNumber;
private
Integer
timeWindow;
private
int
frequencyOfOccurence;
}
基于字段中提供值,臨界值檢驗將被ListingFive中execute()方法執(zhí)行。代碼大部分功效是解析和接收值檢測。ListingFive:臨界值檢測代碼段public
void
execute(Tuple
tuple,
BasicOutputCollector
collector)
{
if(tuple!=null)
{
List<Object>
inputTupleList
=
(List<Object>)
tuple.getValues();
int
thresholdColNum
=
thresholdInfo.getThresholdColNumber();
Object
thresholdValue
=
thresholdInfo.getThresholdValue();
String
thresholdDataType
=
tupleInfo.getFieldList().get(thresholdColNum-1).getColumnType();
Integer
timeWindow
=
thresholdInfo.getTimeWindow();
int
frequency
=
thresholdInfo.getFrequencyOfOccurence();
if(thresholdDataType.equalsIgnoreCase("string"))
{
String
valueToCheck
=
inputTupleList.get(thresholdColNum-1).toString();
String
frequencyChkOp
=
thresholdInfo.getAction();
if(timeWindow!=null)
{
long
curTime
=
System.currentTimeMillis();
long
diffInMinutes
=
(curTime-startTime)/(1000);
if(diffInMinutes>=timeWindow)
{
if(frequencyChkOp.equals("=="))
{
if(valueToCheck.equalsIgnoreCase(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
if(frequencyChkOp.equals("!="))
{
if(!valueToCheck.equalsIgnoreCase(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
System.out.println("Operator
not
supported");
}
}
else
{
if(frequencyChkOp.equals("=="))
{
if(valueToCheck.equalsIgnoreCase(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
if(frequencyChkOp.equals("!="))
{
if(!valueToCheck.equalsIgnoreCase(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
}
}
else
if(thresholdDataType.equalsIgnoreCase("int")
||
thresholdDataType.equalsIgnoreCase("double")
||
thresholdDataType.equalsIgnoreCase("float")
||
thresholdDataType.equalsIgnoreCase("long")
||
thresholdDataType.equalsIgnoreCase("short"))
{
String
frequencyChkOp
=
thresholdInfo.getAction();
if(timeWindow!=null)
{
long
valueToCheck
=
Long.parseLong(inputTupleList.get(thresholdColNum-1).toString());
long
curTime
=
System.currentTimeMillis();
long
diffInMinutes
=
(curTime-startTime)/(1000);
System.out.println("Difference
in
minutes="+diffInMinutes);
if(diffInMinutes>=timeWindow)
{
if(frequencyChkOp.equals("<"))
{
if(valueToCheck
<
Double.parseDouble(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
if(frequencyChkOp.equals(">"))
{
if(valueToCheck
>
Double.parseDouble(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
if(frequencyChkOp.equals("=="))
{
if(valueToCheck
==
Double.parseDouble(thresholdValue.toString()))
{
count.incrementAndGet();
if(count.get()
>
frequency)
splitAndEmit(inputTupleList,collector);
}
}
else
if(frequencyChkOp.equals("!="))
{
.
.
.
}
}
}
else
splitAndEmit(null,collector);
}
else
{
System.err.println("Emitting
null
in
bolt");
splitAndEmit(null,collector);
}
}
經由Bolt發(fā)送tuple將會傳遞到下一個對應Bolt,在我們用例中是DBWriterBolt。DBWriterBolt經過處理tuple必須被持久化方便于觸發(fā)tigger或者更深層次使用。DBWiterBolt做了這個持久化工作并把tuple存入了數據庫。表建立由prepare()函數完成,這也將是topology調用第一個方法。方法編碼如ListingSix所表示。ListingSix:建表編碼。public
void
prepare(
Map
StormConf,
TopologyContext
context
)
{
try
{
Class.forName(dbClass);
}
catch
(ClassNotFoundException
e)
{
System.out.println("Driver
not
found");
e.printStackTrace();
}
try
{
connection
driverManager.getConnection(
"jdbc:mysql://"+databaseIP+":"+databasePort+"/"+databaseName,
userName,
pwd);
connection.prepareStatement("DROP
TABLE
IF
EXISTS
"+tableName).execute();
StringBuilder
createQuery
=
new
StringBuilder(
"CREATE
TABLE
IF
NOT
EXISTS
"+tableName+"(");
for(Field
fields
:
tupleInfo.getFieldList())
{
if(fields.getColumnType().equalsIgnoreCase("String"))
createQuery.append(fields.getColumnName()+"
VARCHAR(500),");
else
createQuery.append(fields.getColumnName()+"
"+fields.getColumnType()+",");
}
createQuery.append("thresholdTimeStamp
timestamp)");
connection.prepareStatement(createQuery.toString()).execute();
//
Insert
Query
StringBuilder
insertQuery
=
new
StringBuilder("INSERT
INTO
"+tableName+"(");
String
tempCreateQuery
=
new
String();
for(Field
fields
:
tupleInfo.getFieldList())
{
insertQuery.append(fields.getColumnName()+",");
}
insertQuery.append("thresholdTimeStamp").append(")
values
(");
for(Field
fields
:
tupleInfo.getFieldList())
{
insertQuery.append("?,");
}
insertQuery.append("?)"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房子轉讓收款合同范本
- 簡單土地購買合同范本
- 手衣服購銷合同范本
- 隱形投資股東合同范本
- 策略+案例掌握大單元學習任務設計的要領
- 海運內貿運輸合同范本
- 福利粽子采購合同范本
- 工業(yè)廠房中介合同范本
- 成品 紙采購合同范本
- 中醫(yī)藥文化養(yǎng)生針灸刮痧
- 校服采購投標方案投標文件
- 奔騰B50汽車說明書
- 華為QSA審核報告
- 鋼筋籠(螺旋箍筋)工程量自動計算表
- 幼兒園ppt課件小班科學:認識蠶豆
- 標準入庫授權委托書
- 【消防監(jiān)督管理】中級專業(yè)技術任職資格評審備考題庫大全-4簡答、論述題部分
- 河南對外經濟貿易職業(yè)學院教師招聘考試歷年真題
- 個人遺體捐贈協(xié)議書
- 煙花爆竹考試真題模擬匯編(共758題)
- 政府采購供應商推薦表(附件1)
評論
0/150
提交評論