久久精品亚洲综合一品|国产精品福利片免费看|国产精品青青青高清在线|亚洲一级大尺码毛片专区|国产精品99精品久久免费|91精品人人槡人妻人人玩|日韩精品久久久久久久久久欠|91福利精品老师国产自产在线

        第五周----上課 Hbase shell

        2019-10-20 09:11:57


        image.png


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


        #hbase shell   

          進(jìn)入 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)計(jì)行數(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)計(jì)

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

                                     put 記錄               disable文件                                  get記錄

                                                                   drop文件                                   scan記錄

                                                                                                                     status系統(tǒng)

                                                                                                                    version系統(tǒng)

                                                                                                                    describe記錄

                                                                                                                       exists文件

         

        hbase中沒有rename,所以改表名要很復(fù)雜,重命名主要通過hbase的快照功能來實(shí)現(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        默認(rèn)參數(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


        增強(qiáng)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 實(shí)現(xiàn)。

        object 對象   與  apply() 方法

        image.png

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

        image.png

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


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

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

        類似與  java 中  switch-cash 的加強(qiáng)版。

        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)系
        河西区| 康马县| 甘肃省| 中江县| 高平市| 饶阳县| 都江堰市| 辽中县| 珠海市| 利津县| 台南县| 全椒县| 玉田县| 南漳县| 杭锦后旗| 岳普湖县| 高安市| 和田市| 马山县| 临潭县| 舞阳县| 衡阳市| 繁昌县| 洪洞县| 湖口县| 海门市| 昌吉市| 平湖市| 菏泽市| 淮滨县| 元朗区| 台湾省| 房山区| 且末县| 冕宁县| 关岭| 监利县| 浙江省| 阳山县| 曲阳县| 南和县|