Java是一種功能強(qiáng)大的編程語言,大數(shù)據(jù)開發(fā)也要用到Java編程語言,但是不是必須用Java,大數(shù)據(jù)開發(fā)還可以用Python,Scala,go語言。
太倉ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
Java有跨平臺的特點(diǎn),可以做很多工作,比如常見的web開發(fā)、大數(shù)據(jù)開發(fā)、安卓開發(fā)、服務(wù)器開發(fā)等等。大數(shù)據(jù)開發(fā)只是其中的一個應(yīng)用方向。
目前應(yīng)用最廣泛的大數(shù)據(jù)平臺是Hadoop,而Hadoop則是采用java語言編寫,所以就有“Java大數(shù)據(jù)”的說法,那么java程序員向大數(shù)據(jù)程序員的過渡也就有很大的優(yōu)勢。Hadoop是一個大數(shù)據(jù)系統(tǒng),像云計(jì)算就屬于系統(tǒng)類技術(shù)。首先要學(xué)習(xí)Hadoop大數(shù)據(jù)平臺的核心框架和組件,能夠運(yùn)用Java、Python等編程語言基于大數(shù)據(jù)平臺來寫代碼開發(fā)應(yīng)用,實(shí)現(xiàn)產(chǎn)品功能,支撐業(yè)務(wù)應(yīng)用。
文件讀取:首先是一個文件上傳,數(shù)據(jù)入庫,10-200萬條不等,這里主要考慮到一次性讀取,JVM分配出來的棧內(nèi)存不一定會夠(個人對內(nèi)存這一塊還是處于一知半解的狀態(tài),所以比較謹(jǐn)慎,若諸位大神有好的認(rèn)知,希望評論留下地址分享一下),是依行讀取數(shù)據(jù),設(shè)定一個批量值,當(dāng)讀取的數(shù)據(jù)達(dá)到一定量之后,執(zhí)行批量入庫操作,清空集合,再接著讀取。
//讀取文件內(nèi)容
while((s = br.readLine())!=null){
//判斷是否達(dá)到單次處理量
if(num%leadingNum==0num!=0){
int a = stencDao.insertBatch(listBean);
if(a!=leadingNum){
flag = false;
}
//清空集合
listBean.clear();
}
String value = s.trim();
//將讀取到的內(nèi)容放入集合中
if(!value.equals("")){
StencilCustomer bean = new StencilCustomer();
bean.setCustomerPhone(value);
bean.setLinkStencilId(id);
listBean.add(bean);
num ++;
}
}
數(shù)據(jù)處理:這里的思路也是將數(shù)據(jù)小化然后處理,這里使用了多線程,設(shè)定單個線程處理量,然后開啟多個線程處理,這里需要考慮你的服務(wù)器的承載能力,如果線程開得太多了,處理不過來,會出現(xiàn)蹦死的情況。例如200萬數(shù)據(jù),我開了20個線程,單個線程處理600條。
//建立一個線程池 ThreadPoolExecutor threadPool = new ThreadPoolExecutor(
minTaskNumber, maxTaskNumber, 3L, TimeUnit.SECONDS,
new ArrayBlockingQueueRunnable(minTaskNumber),
new ThreadPoolExecutor.DiscardOldestPolicy());
//當(dāng)正在執(zhí)行的線程數(shù)達(dá)到最大執(zhí)行線程數(shù)的時候等待
boolean flag = true;
while(flag){
Thread.sleep(1000);//休眠2ms查詢一次
int c = threadPool.getActiveCount();//線程池中活動中的線程數(shù)量
if(cmaxTaskNumber){
flag = false;
}
}
上面的代碼是我對線程池的一個控制,控制服務(wù)器一直最大線程執(zhí)行,Thread.sleep(1000);用while的時候,這個休眠最好不要去掉,去掉之后很影響執(zhí)行效率
POI包解析 或者 只是xls的話 用 jxl 也行 poi 全支持 xls 和xlsx
然后寫入 保存 ok
HSSFSheet sheet= null;
for(int sherrt= 0; sherrt wr.getNumberOfSheets();sherrt++){
sheet = wr.getSheetAt(sherrt); // 獲得sheet工作簿HSSFSheet
for(int i = 0 ; i=sheet.getLastRowNum(); i++){
HSSFRow row = sheet.getRow(i);//獲得行數(shù)
Iterator o = row.iterator(); //得到每行的值
int j= 0 ;
while(o.hasNext()){
if(!key){
kk = o.next().toString();
if(StrC.getSimilarityRatio(kk, Vle[j])0.7){j++;}
}else{
GetVAR[j] = o.next().toString();
j++;
}
}
這個是得到 也可以寫入
當(dāng)前標(biāo)題:大數(shù)據(jù)java代碼 java中大數(shù)據(jù)如何處理
轉(zhuǎn)載來源:http://chinadenli.net/article14/dogdgge.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、營銷型網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)