日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Thrift中實(shí)現(xiàn)按照時(shí)間戳范圍操作Hbase數(shù)據(jù)

系統(tǒng) 3817 0

在一次做項(xiàng)目的過(guò)程中,要實(shí)現(xiàn)一個(gè)功能,功能描述為前端給定日期范圍,在該日期范圍內(nèi)取出指定行的信息。在Thrift常用的API中,取出一行所有的數(shù)據(jù)接口為getVer(),getver()具體描述如下:

Thrift中實(shí)現(xiàn)按照時(shí)間戳范圍操作Hbase數(shù)據(jù)

如果想取到帶有時(shí)間戳的數(shù)據(jù),有一個(gè)接口為getVerTs,getVerTs內(nèi)容描述如下:

Thrift中實(shí)現(xiàn)按照時(shí)間戳范圍操作Hbase數(shù)據(jù)

但是此接口只能取到小于該時(shí)間戳的數(shù)據(jù),如果想取到時(shí)間戳范圍內(nèi)的數(shù)據(jù)還是無(wú)能為力,為了實(shí)現(xiàn)此功能,接著又去嘗試了getVer()中參數(shù)5map的用法,以為在map中添加timestamp的限制條件就好了。

于是搜啊搜,Google,Baidu都嘗試了,關(guān)于map的使用例子卻找不到,于是就按照網(wǎng)上給的map的含義自己寫,但是npm start后一大堆錯(cuò)誤,最后實(shí)在沒(méi)辦法只好放棄此種方法。

然后就靜下心來(lái)看了看自己寫的代碼,自己處理hbase返回?cái)?shù)據(jù)的方式,忽然,恍然大悟,自己費(fèi)盡心思想用map實(shí)現(xiàn),其實(shí)根本不需要,只需要對(duì)其得到的數(shù)據(jù)加上限制條件就OK了。我的代碼如下:

  
      
         1
      
       client.getVer
      
        (
        
          'rdga_by_plate',
          
            encodedPlate,
            
              'KEY:ID',
              
                '10000',
                
                  null,
                  
                    AsyncSearchIdAjaxQuery
                    
                      );
                    
                  
                
              
            
          
        
      
      
function AsyncSearchIdAjaxQuery(err,idValueAjaxQuery) 2 { 3 if (err) 4 { 5 console.log('getRow error:' , err); 6 } 7 else 8 { 9 console.log("The ajax startdate is:" ,dateToTimestamp(inputedStartDate)); 10 console.log("The ajax enddate is:" ,dateToTimestamp(inputedEndDate)); 11 var rowKeys = new Array(); 12 var timestampNum = 0 ; 13 var startDateTimestamp = dateToTimestamp(inputedStartDate); 14 var endDateTimestamp = dateToTimestamp(inputedEndDate); 15 for ( var key in idValueAjaxQuery) 16 { 17 // console.log("The key is:",key); 18 19 console.log('Row value:' , idValueAjaxQuery[key].value.toString()); 20 console.log('Timestamp: ' ,idValueAjaxQuery[key].timestamp.toString()); 21 if (idValueAjaxQuery[key].timestamp.toString() >= startDateTimestamp && idValueAjaxQuery[key].timestamp.toString() <= endDateTimestamp) 22 { 23 rowKeys.push(idValueAjaxQuery[key].value.toString()); 24 timestampNum++ ; 25 }
26 client.getRows ( 'rdga_by_id', rowKeys, null, AsyncSearchDetailsAjaxQuery ); 27 } 28 29 } 30 }

getVer得到的數(shù)據(jù)在idValueAjaxQuery中,它的里面包括timestamp的內(nèi)容,要想實(shí)現(xiàn)時(shí)間戳范圍內(nèi)查找數(shù)據(jù),此時(shí)在21行加上限制條件,此時(shí)符合條件的idValueAjaxQuery中的value值就會(huì)放置在rowKeys數(shù)組中,這時(shí)通過(guò)26行的getRows得到的內(nèi)容就是時(shí)間戳范圍內(nèi)的數(shù)據(jù)。

    

Thrift中實(shí)現(xiàn)按照時(shí)間戳范圍操作Hbase數(shù)據(jù)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 霍山县| 鹤山市| 涞水县| 十堰市| 彭阳县| 呼玛县| 桂东县| 舟曲县| 枞阳县| 宁国市| 荃湾区| 商都县| 格尔木市| 米易县| 武乡县| 西乌珠穆沁旗| 长治县| 淮北市| 永宁县| 通榆县| 新乡市| 卢氏县| 西充县| 万山特区| 垣曲县| 丹巴县| 大石桥市| 临澧县| 渭源县| 福清市| 泰宁县| 鹤山市| 漳平市| 通道| 汝阳县| 韶关市| 罗城| 广安市| 龙胜| 额济纳旗| 方城县|