八戒影院午夜福利_亚洲最新中文字幕成人_免费无限 观看深夜视频_麻豆91久久婷婷五月_男女猛烈xx00动态图高清_精品一级毛片视频_亚洲综合播放_欧美一级黄色内射_无码人妻一区二区三区免费看_亚洲系列欧美系列手机在线

第五周----上課 Hbase shell

2019-10-20 09:11:57


image.png


深圳塑膠模具廠,深圳市模具廠,深圳模具廠,深圳模具,深圳塑膠模具


#hbase shell   

  進入 Hbase 的操作界面


- 創(chuàng)建表 :    creat  ‘表名稱’ , ‘列名稱1’,‘列名稱2’,‘列名稱n'

-添加記錄:   put  ’表名稱‘,’行名稱‘,’列名稱‘,’值‘

-查看記錄: get '表名稱’,‘行名稱’

-刪除記錄: delete  ‘表名稱’,‘行名稱’,‘列名稱’

-刪除一張表: 分布式數(shù)據(jù)庫需要多步完成  

                         1、  disable  '表名稱’

                         2、 drop ‘表名稱’

-查看所有的記錄:                               scan  ’表名稱‘

-查看某個表,某個列的所有數(shù)據(jù):      scan  ’表名稱‘,{’列名稱‘}


一般操作:

1、  啟動 Hbase     #Hbase shell

2、  看有多少內(nèi)容    > list

3、  看狀態(tài)               > status

4、  Hbase 的版本    > version

5、 要處理增刪改查的操作:

                                                  創(chuàng)建           > create ‘member','member_id','address','info'

                                                  查詢           > describe 'member'

     面向列族的,可以添加列族                   > alter 'member','id' 

     修改一個列族     > alter 'member',{NAME=>'member_id',method=>'delete'}                     刪除一個列族     > delete 'member' ,' debugo','info:age'  

     查看列的信息     >  get 'member','debugo','info:age'

     刪除整行信息     > deleteall 'member',’debugo‘

     查看整行信息     >  get  ’member','debugo' 

 查看是不是被禁用  >  is_enabled 'menber'

                                     is_disabled 'member'

 判斷是不是存在表  > exists 'member'   

    刪除表                 >disbale 'member'

                                   drop 'member'


9、插入數(shù)據(jù)          >  put 'member' ,'debugo','id','11'

                              >  put 'member' ,'debugo','info:age','27'

                              > put  'member'.'debugo','info:birthday','1987-04-04'

                              > put  'member'.'debugo','info:industry','it'

                              > put  'member'.'debugo','info:city','beijin'

                              .........        表              行            列族:列名稱

                                              表             行            列族:


10、 統(tǒng)計行數(shù)      > count ‘member’

11、獲取一個ID的所有數(shù)據(jù):    > get  'member','sariel'

12、查詢 一個ID 的一個列族中的所有信息    > get 'member','sariel','info‘

13、查詢整個表格的所有信息   > scan  ’member'

14、掃描整個列族  scan  ‘member',{column=>'info'}  

15、指定掃描整個列            scan  ‘member',{column=>'info:birthday'}


對于 Hbase 中的    增                              刪                      改                    查                        統(tǒng)計

                           create文件              delete記錄          alter記錄          list文件                  count 

                             put 記錄               disable文件                                  get記錄

                                                           drop文件                                   scan記錄

                                                                                                             status系統(tǒng)

                                                                                                            version系統(tǒng)

                                                                                                            describe記錄

                                                                                                               exists文件

 

hbase中沒有rename,所以改表名要很復(fù)雜,重命名主要通過hbase的快照功能來實現(xiàn)。

-------------------------------------------------------------------------------------------------------------

10:30-11:15 休息       這一節(jié): 

https://pan.baidu.com/s/1u1B8fnMgVGJK5eZdoiXpqg      下載

scala-2.11.8.msi   jdk-7windowx


安裝  


image.png

JAVA 環(huán)境變量設(shè)置


image.png



下載軟件, 安裝到C盤   prografile /java  


目前學(xué)習(xí) Scala  的軟件, 安裝和配置 


image.png


image.png

image.png


image.png

image.png




Spark  的源碼, 全部都是   Scala來寫的。

Scala 也是面對函數(shù)的,面對對象的。

          java  要寫  200-300行 ,  而 scala 只需要 2行, 也可以調(diào)取Java的接口。


Scala 語法 :      


VAL 聲明是不可變的變量,

VAR 聲明是可變的變量。


DOS>      scala> val content:String = "hello world"

                           val x,y =100

                           不可變的變量。


      在 Scala中 一切都可以看作是對象。


Scala>     a+b          =======      a.+(b)

                1 to 10     =======      1.to(10)                        這里的  。  指的就是對象

                a func b   =======       a.func(b)


                val x = if (a>0) 1 else -1

                val b =if (x>0) 1 esle "error"      這個數(shù)據(jù)類型不一致, 也可以

                邏輯判斷的結(jié)果賦值給變量,


                val c = if (x>0) 1 else ()           

 

               for (i <- 0  to 5 )  println(i)    這樣就可以打印出來。


               for(i<- 0 unitl 10) println(i)


               for (i <- 1 to 3; j<-1 to 3 if  i!=j) {pringtln((10*i+j)+" " }    循環(huán)增加條件變量


               for (i<-1 to 10 if i%2==0)yield i


               for (i<-1 to 10)yield i%3


--------  下午   

流程控制   

     1、條件判斷      val a = if (x>0) 1 else -1

                               val b = if (x>0) 1 else "error"

                               val c = if (x>0) 1 esle ()

      2、for 循環(huán)      for (i <- 0 to 5 ) println(i)

                              for  (i <- 0 until 10) println(i)

                              for (i <- 0 to 3;j <-1 to 3 if  i != j ){pringln((10*i)+j)+" "}

                              for (i <-1 to 10 if i%2==0)yield i

                              for ( i <-1 to 10) yield i%3

這些是上午學(xué)習(xí)過的, 接下來,我們學(xué)習(xí)函數(shù)

image.png

          def  fun(x:int):int = X+1            這樣就定義好了函數(shù);

          def fun(a:int,b:int=100)=a+b        默認參數(shù)的定義;

          def sum(args : int*)={

                           var result = 0  

                           for (i<-args) result +=i 

                           result

                           }


image.png


def fun2 (x:int):unit=(

println(x)


image.png


沒有返回值的函數(shù)。      

def  fac(n:int):int={if n <=0)1 else n*fac(n-1)

  

遞歸函數(shù), 需要指定 輸入的類型  以及 結(jié)果的類型。


注意:參數(shù)類型必須聲明, 返回值類型可以不聲明, 函數(shù)是遞歸的, 這必須聲明返回值類型。


def fac(n:int):int= {

      if (n<=0) 1 else n*fac(n-1)

      }


scala 函數(shù)定義規(guī)則: 

  1、以 def 開頭

  2、參數(shù)類型必須指定, 

   3、返回值的類型可以不指定。 


沒有定義函數(shù)名字的函數(shù), 這是匿名函數(shù)

     (x:int)=>x+1

可以將這個沒有名字的函數(shù)賦值給一個變量  

val fun = (x:int) => x+1

image.png


接下來, 定義數(shù)組 

val  arr1 = new array[int](3)    定長數(shù)組

                                                字符串?dāng)?shù)組

image.png

image.png

可以修改數(shù)組中的值

arr3(1)="storm"      可以修改數(shù)組3種的 1單元的值 


變長數(shù)組   

image.png

先要做這個 插件引入。

image.png

沒有 new  ,需要括號, 有new , 不需要括號。


image.png


image.png



image.png

 image.png

image.png

image.png


image.png

image.png


增強for循環(huán), 更加簡潔

image.png

image.png


通過 yield  賦值給 e

image.png


image.png

求和 ,   排序 , 最小值 ,  取值,  



正序

image.png

倒序

image.png



image.png


映射         Key   val      

image.png

image.png

兩種方法的映射

image.png



取值:

image.png

image.png



末尾追加

image.png

image.png

刪除

image.png


鍵值對的交換   , 得到 鍵和值  KEY -  VAL 的前后交換

image.png

image.png


元組  , 不同類型的元素集合

image.png

image.png


生成大小寫分片元組

image.png


------繼續(xù)   , 面向?qū)ο蟮?nbsp;類的定義


image.png


image.png


重載的構(gòu)造器image.png


有參和無參的構(gòu)造器

image.png


接下來講   :object  

--------------------------------------------------------------------------

image.png

可以使用 APPLY 實現(xiàn)。

object 對象   與  apply() 方法

image.png

這個是  scala實現(xiàn)的 單一模式  

image.png

這個是  伴生對象和單例模式結(jié)合起來的東西


樣例類和模式匹配 , 這個是 scala獨立的東西, 這個是可以用于模式匹配的。

樣例對象是單例的, 也可以用于模式匹配。

類似與  java 中  switch-cash 的加強版。

image.png

case class user (name: string,psw:string){}

image.png

如下方式, 可以用于搜索引擎中,  是比較簡單的

image.png





Option(T)類,  理解為一個容器 

image.png

還有一些高級特性, 比如說  高階函數(shù), 等于是函數(shù)的函數(shù)。 比如:

def fun(f:double =>double)={

f(100)

}

fun(X:double)=>28*x

fun(sqrt_)

val fun:int => (int,int)={

x=>(x,x*2)

}

fun(100)


Val fun:(x:double)=》(double,Int)={

(x,y)=>(y,x)

}

image.png

Scala 中特有的  柯里化

image.png

例子:

def  m(x:Int)=(y:int)=>x*y


Scala 中還有  隱式轉(zhuǎn)換和隱式參數(shù)


其他:

包   的引入    import      , private    都是  Scala的內(nèi)容





首頁
產(chǎn)品
新聞
聯(lián)系