大資料開發之scala操作hbase的工具類

2021-09-26 10:50:29 字數 2572 閱讀 4317

org.apache.hbase

hbase-client

1.2.1

org.apache.hbase

hbase-common

1.2.1

注意: 匯入依賴的版本號要與集群的hbase版本號一致 否則會不相容報錯從hbase集群的conf資料夾將hbase-site.xml拷貝到工程的resources問價夾下

hbase-site.xml檔案內容(每個人安裝時配置的可能不一樣)

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

hbase.rootdir

hdfs://node01:8020/hbase

hbase.cluster.distributed

true

hbase.zookeeper.quorum

node01:2181,node02:2181,node03:2181

package com.itheima.realprocess.util

import org.apache.hadoop.conf.configuration

import org.apache.hadoop.hbase.client._

import org.apache.hadoop.hbase.util.bytes

import org.apache.hadoop.hbase.

/** * hbase操作工具類

*/object hbaseutil

conn.gettable(tablename)

} /**

* 根據rowkey,列名查詢資料

* @param rowkey rowkey

* @param columnfamily 列蔟名

* @param column 列名

* @return 資料

*/def getdata(tablenamestr: string, rowkey: string, columnfamily: string, column: string): string =

} catch finally

tmp} /**

* 批量獲取列的資料

* @param tablenamestr 表名

* @param rowkey rowkey

* @param columnfamily 列蔟

* @param columnlist 列的名字列表

* @return

*/def getdata(tablenamestr: string, rowkey: string, columnfamily: string, columnlist:list[string]) =

else

}.filter(_._1 != "").tomap

} catch finally

} /**

* 插入/更新一條資料

* @param rowkey rowkey

* @param columnfamily 列蔟

* @param column 列名

* @param data 資料

*/def putdata(tablenamestr: string, rowkey: string, columnfamily: string, column: string, data: string) = catch finally

} /**

* 使用map封裝資料,插入/更新一批資料

* @param rowkey rowkey

* @param columnfamily 列蔟

* @param mapdata key:列名,value:列值

*/def putmapdata(tablenamestr: string, rowkey: string, columnfamily: string, mapdata: map[string, string]) =

}table.put(put)

} catch finally

} /**

* 根據rowkey刪除一條資料

** @param tablenamestr 表名

* @param rowkey rowkey

*/def deletedata(tablenamestr:string, rowkey:string, columnfamily:string) =

val table = conn.gettable(tablename)

try

catch

finally

} def main(args: array[string]): unit =

}

大資料學習 7Scala系列之集合操作函式

4.6 集合的重要函式 4.6.1sum max min count 在序列中查詢最大或最小值是乙個極常見的需求,如下 val numbers seq 11,2,5,1,6,3,9 numbers.max 11 numbers.min 1 更高階的例子,其中包含乙個書的序列 case class b...

《大資料 Scala 作業1》

1 在scala repl read evaluateion print loop 中,計算3的平方根,然後再對該值求平方。現在,這個結果與3相差多少?2 scala語言的sdk是什麼?3 scala環境變數配置及其作用。4 scala程式的編寫 編譯 執行步驟是什麼?能否一步執行?5 scala程...

大資料課程 scala部分

1.foldleft,初始值是0,0 2,然後作為初始值 再繼續進行累加。2.伴生類中private 定義的變數,只能在伴生物件中訪問,在別的地方訪問需要在伴生類中定義獲取的方法。3.偏函式 由 和裡面的case組成,並且沒有match,第乙個引數是傳入引數,第二個引數是返回值。4.隱式轉換 5.泛...