国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【頭歌】共享單車之數(shù)據(jù)存儲

這篇具有很好參考價值的文章主要介紹了【頭歌】共享單車之數(shù)據(jù)存儲。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

第1關:獲取工作簿中的數(shù)據(jù)

任務描述

本關任務:獲取data.xls文件中的數(shù)據(jù)。

相關知識

獲取工作簿中的信息,我們可以使用Java POIPOI是一個提供APIJava程序?qū)?code>Microsoft Office格式檔案讀和寫的功能)提供的Workbook類來操作。

為了完成本關任務,你需要掌握:如何獲取Wookbook的數(shù)據(jù)。

編程要求

在右側(cè)編輯器 Begin-End 中補充代碼,獲取 data.xls 文件中的數(shù)據(jù),具體獲取以下數(shù)據(jù)并將結(jié)果打?。?trip_id 、開始時間、結(jié)束經(jīng)度、車輛 id 。

package com.educoder.savedata;

import java.io.InputStream;
import java.text.DecimalFormat;
import org.apache.commons.lang3.time.FastDateFormat;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;


public class SaveWookbook {

	public static void main(String[] args) throws Exception {
        /**********     Begin    **********/
		//1.通過類加載器獲取本地文件并新建一個工作簿
        InputStream resourceAsStream = SaveData.class.getClassLoader().getResourceAsStream("data.xls");
        Workbook workbook = WorkbookFactory.create(resourceAsStream);
        
        //2.拿到工作簿中第一個Sheet
        Sheet sheet = workbook.getSheetAt(0);
        
        //3.獲取當前Sheet中的行數(shù)
        int rows = sheet.getPhysicalNumberOfRows();
        
        //4.對所有有效數(shù)據(jù)進行遍歷并輸出(期間無效數(shù)據(jù)通過異常捕獲方式清除)
        for(int n=1;n<rows;n++)
        {
            Row row = sheet.getRow(n);
            //通過異常方式清除格式不準確、數(shù)據(jù)不存在的無效行
            try{
                DecimalFormat formatter1 = new DecimalFormat("########");
                String trip_id = formatter1.format(row.getCell(0).getNumericCellValue());
                //開始時間
                FastDateFormat instance = FastDateFormat.getInstance("MM/dd/yyyyHH:mm");
                String beginTimeValue = row.getCell(1).getStringCellValue();
                long begintime = instance.parse(beginTimeValue).getTime();
                //車輛id
                int car_id = (int)row.getCell(3).getNumericCellValue();
                //結(jié)束經(jīng)度
                double start_longitude = row.getCell(9).getNumericCellValue();
                DecimalFormat formatter2 = new DecimalFormat("###.######");
                String longitude = formatter2.format(start_longitude);
                System.out.println("騎行id:"+trip_id+",開始時間:"+begintime+",車輛id:"+car_id+",結(jié)束經(jīng)度:"+longitude);
            }catch(Exception e){

            }
        }
        
        
       /******** **    End    ******* ***/
	}
}

第2關:保存共享單車數(shù)據(jù)

任務描述

本關任務:從dataResources.xls文件中獲取共享單車數(shù)據(jù),保存到HBase中。

相關知識

為了完成本關任務,你需要掌握:

  • 如何創(chuàng)建HBase表;
  • 如何讀取文件;
  • 了解共享單車數(shù)據(jù)表格式以及如何獲取數(shù)據(jù);
  • 如何存儲到HBase。

編程要求

請補全右側(cè) Begin-End 之間的代碼,分別獲取攜程網(wǎng)所有帶有 hreflink 標簽、第一次出現(xiàn) class"pop_attention"div (可用 DOMCSS 二種方式實現(xiàn))、以及所有 li 之后的 i 標簽。文章來源地址http://www.zghlxwxcb.cn/news/detail-497940.html

package com.educoder.savedata;

import java.io.InputStream;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.apache.commons.lang3.time.FastDateFormat;
import org.apache.hadoop.hbase.client.Put;
import org.apache.hadoop.hbase.util.Bytes;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import com.educoder.util.HBaseUtil;

/* 
* 讀取共享單車城市行車數(shù)據(jù)
* 
*/
public class SaveData {

	public static void SaveBicycleData()  throws Exception {
		/******** **   Begin   ******* ***/
       HBaseUtil.createTable("t_shared_bicycle", "info"); 
       InputStream resourceAsStream = SaveData.class.getClassLoader().getResourceAsStream("dataResources.xls"); 
       Workbook workbook = WorkbookFactory.create(resourceAsStream); 
       Sheet sheet = workbook.getSheetAt(0); 
       int rows = sheet.getPhysicalNumberOfRows(); 
       List<Put> puts = new ArrayList<Put>(); 
       for (int n = 1; n < rows; n++) { 
        // 通過異常方式清除格式不準確、數(shù)據(jù)不存在的無效行
            try { 
				Row row = sheet.getRow(n); 
                // 唯一騎行id,當作行rowkey 
                DecimalFormat formatter1 = new DecimalFormat("########"); 
                String trip_id = formatter1.format(row.getCell(0).getNumericCellValue()); 
                Put put = new Put(Bytes.toBytes(trip_id)); 
                byte[] family = Bytes.toBytes("info"); 
                // 開始時間
                FastDateFormat instance = FastDateFormat.getInstance("MM/dd/yyyy HH:mm"); 
                String beginTimeValue = row.getCell(1).getStringCellValue(); 
                Date parse = instance.parse(beginTimeValue); 
                put.addColumn(family, Bytes.toBytes("beginTime"),Bytes.toBytes(String.valueOf(parse.getTime()))); 
                // 結(jié)束時間
                String endTimeValue = row.getCell(2).getStringCellValue(); 
                Date parse2 = instance.parse(endTimeValue); 
                put.addColumn(family, Bytes.toBytes("endTime"),Bytes.toBytes(String.valueOf(parse2.getTime()))); 
                // 單車識別碼
                int bicycleId = (int)row.getCell(3).getNumericCellValue(); 
                put.addColumn(family, Bytes.toBytes("bicycleId"), 
Bytes.toBytes(String.valueOf(bicycleId))); 
                // 出發(fā)地
                String departure = row.getCell(4).getStringCellValue(); 
                put.addColumn(family, Bytes.toBytes("departure"), 
Bytes.toBytes(departure)); 
                // 目的地
                String destination = row.getCell(5).getStringCellValue(); 
                put.addColumn(family, Bytes.toBytes("destination"), 
Bytes.toBytes(destination)); 
                // 所在城市
                String city = row.getCell(6).getStringCellValue(); 
                put.addColumn(family, Bytes.toBytes("city"), Bytes.toBytes(city)); 
                // 清除目的地= 所在城市或者出發(fā)地= 目的地的無效數(shù)據(jù)
				if (destination.equals(city)|| departure.equals(destination) ) { 
					continue; 
					} 
                //開始經(jīng)度
                DecimalFormat formatter2 = new DecimalFormat("###.######"); 
                String start_longitude = formatter2.format(row.getCell(7).getNumericCellValue()); 
                put.addColumn(family, Bytes.toBytes("start_longitude"), Bytes.toBytes(String.valueOf(start_longitude))); 
                //開始緯度
                String start_latitude = formatter2.format(row.getCell(8).getNumericCellValue()); 
                put.addColumn(family, Bytes.toBytes("start_latitude"), Bytes.toBytes(String.valueOf(start_latitude))); 
                //結(jié)束經(jīng)度
                String stop_longitude = formatter2.format(row.getCell(9).getNumericCellValue()); 
                put.addColumn(family, Bytes.toBytes("stop_longitude"), Bytes.toBytes(String.valueOf(stop_longitude))); 
                //結(jié)束緯度
                String stop_latitude = formatter2.format(row.getCell(10).getNumericCellValue()); 
                put.addColumn(family, Bytes.toBytes("stop_latitude"), 
Bytes.toBytes(String.valueOf(stop_latitude))); 
                puts.add(put); 
				} catch (Exception e) { 

				} 
				} 
				HBaseUtil.putByTable("t_shared_bicycle", puts);     
        
		/******* ***   End   ****** ****/
	}

}


到了這里,關于【頭歌】共享單車之數(shù)據(jù)存儲的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 共享單車數(shù)據(jù)處理與分析

    共享單車數(shù)據(jù)處理與分析

    本案例來源不清楚,如果有作者,可以聯(lián)系我,給加上對應鏈接 公共交通工具的“最后一公里”是城市居民出行采用公共交通出行的主要障礙,也是建設綠色城市、低碳城市過程中面臨的主要挑戰(zhàn)。 共享單車(自行車)企業(yè)通過在校園、地鐵站點、公交站點、居民區(qū)、商業(yè)

    2024年02月09日
    瀏覽(23)
  • 共享單車之數(shù)據(jù)可視化

    共享單車之數(shù)據(jù)可視化

    任務描述 本關任務:使用JSP在百度地圖上繪制一條共享單車起始路程。 相關知識 為了完成本關任務,你需要掌握: 如何創(chuàng)建地圖實例; 如何在地圖上繪制路程線。 創(chuàng)建地圖實例 我們需要先在jsp中引入百度地圖api。 myMap 引入之后我們便可使用api中BMap對象來創(chuàng)建地圖實例:

    2024年02月03日
    瀏覽(22)
  • 畢業(yè)設計 基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析

    畢業(yè)設計 基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析

    Hi,大家好,這里是丹成學長,今天向大家介紹一個學長做的數(shù)據(jù)分析項目,基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析 畢設幫助,開題指導,資料分享,疑問解答(見文末) ?? 選題指導, 項目分享:見文末 公共交通工具的“最后一公里”是城市居民出行采用公共交通出行的主要障礙,

    2024年04月27日
    瀏覽(28)
  • 基于數(shù)據(jù)挖掘的共享單車騎行數(shù)據(jù)分析與預測

    基于數(shù)據(jù)挖掘的共享單車騎行數(shù)據(jù)分析與預測

    ? 完整代碼下載: https://download.csdn.net/download/andrew_extra/88612623 共享單車系統(tǒng)在大城市越來越流行,通過提供價格合理的自行車租賃,讓人們可以享受在城市里騎自行車的樂趣,而無需為自己購買自行車。本項目利用 Nice Ride MN 在雙子城(明尼蘇達州明尼阿波利斯市/圣保羅市)

    2024年02月11日
    瀏覽(22)
  • 大數(shù)據(jù)畢業(yè)設計 共享單車數(shù)據(jù)分析與可視化系統(tǒng) - Python

    大數(shù)據(jù)畢業(yè)設計 共享單車數(shù)據(jù)分析與可視化系統(tǒng) - Python

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質(zhì)畢業(yè)設計項目,今天

    2024年02月06日
    瀏覽(31)
  • 大數(shù)據(jù)畢設項目 - 基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析與可視化

    大數(shù)據(jù)畢設項目 - 基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析與可視化

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質(zhì)畢業(yè)設計項目,今天

    2024年03月13日
    瀏覽(26)
  • 【計算機畢設選題】基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析與可視化

    【計算機畢設選題】基于大數(shù)據(jù)的共享單車數(shù)據(jù)分析與可視化

    ?? 這兩年開始畢業(yè)設計和畢業(yè)答辯的要求和難度不斷提升,傳統(tǒng)的畢設題目缺少創(chuàng)新和亮點,往往達不到畢業(yè)答辯的要求,這兩年不斷有學弟學妹告訴學長自己做的項目系統(tǒng)達不到老師的要求。 為了大家能夠順利以及最少的精力通過畢設,學長分享優(yōu)質(zhì)畢業(yè)設計項目,今天

    2024年02月21日
    瀏覽(31)
  • 北斗高精度定位,破解共享單車停車亂象

    北斗高精度定位,破解共享單車停車亂象

    如今,共享單車已經(jīng)成為了許多人出行的首選方式,方便了市民們的“最后一公里”,給大家的生活帶來了很多便利。然而,亂停亂放的單車也給城市治理帶來了難題。在這種情況下,相關企業(yè)嘗試將北斗導航定位芯片裝載到共享單車上,通過高精度的位置識別,來破解亂停

    2024年02月09日
    瀏覽(27)
  • 共享單車藍牙鎖方案phy6222系列藍牙芯片

    共享單車藍牙鎖方案phy6222系列藍牙芯片

    公共交通工具的\\\"最后一公里\\\"是城市居民出行采用公共交通出行的主要障礙,也是建設綠色城市、低碳城市過程中面臨的主要挑戰(zhàn)。隨著科技的發(fā)展,物聯(lián)網(wǎng)領域市場的不斷開拓BLE協(xié)議在共享交通工具上打開了突破口,目前已廣泛應用及遍布我們的生活。 藍牙(Bluetooth?):是一

    2024年02月10日
    瀏覽(20)
  • 神經(jīng)網(wǎng)絡解決預測問題(以共享單車預測為例)

    神經(jīng)網(wǎng)絡解決預測問題(以共享單車預測為例)

    背景:大約從2015年起,共享單車席卷了大部分城市。共享單車在給人們帶來便利的同時,也存在一些問題:單車的分布很不均勻。比如在早高峰的時候,一些地鐵口往往聚集著大量的單車,而到了晚高峰卻很難找到一輛單車了。那么如何解決共享單車分布不均勻的問題呢?目

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包