<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Hive基礎(四):Hive 數據類型(一)

      1 基本數據類型

      對于 Hive 的 String 類型相當于數據庫的 varchar 類型,該類型是一個可變的字符串,不過它不能聲明其中最多能存儲多少個字符,理論上它可以存儲 2GB 的字符數。

      2 集合數據類型

       

       

      Hive 有三種復雜數據類型 ARRAY、MAP 和 STRUCT。ARRAY 和 MAP 與 Java 中的Array 和 Map 類似,而 STRUCT 與 C 語言中的 Struct 類似,它封裝了一個命名字段集合,復雜數據類型允許任意層次的嵌套。
       
      案例實操
      1) 假設某表有如下一行,我們用 JSON 格式來表示其數據結構。在 Hive 下訪問的格式為
      {
       "name": "songsong",
       "friends": ["bingbing" , "lili"] , //列表 Array, 
       "children": { //鍵值 Map,
       "xiao song": 18 ,
       "xiaoxiao song": 19
       }
       "address": { //結構 Struct,
       "street": "hui long guan" ,
       "city": "beijing" 
       } }
      2)基于上述數據結構,我們在 Hive 里創建對應的表,并導入數據。創建本地測試文件 test.txt
      songsong,bingbing_lili,xiao song:18_xiaoxiao song:19,hui long guan_beijing
      yangyang,caicai_susu,xiao yang:18_xiaoxiao yang:19,chao yang_beijing
      注意:MAP,STRUCT 和 ARRAY 里的元素間關系都可以用同一個字符表示,這里用“_”。
      3)Hive 上創建測試表 test
      create table test(
      name string,
      friends array<string>,
      children map<string, int>,
      address struct<street:string, city:string>
      )
      row format delimited fields terminated by ','
      collection items terminated by '_'
      map keys terminated by ':'
      lines terminated by '\n';
      字段解釋:
      row format delimited fields terminated by ',' -- 列分隔符
      collection items terminated by '_'     --MAP STRUCT 和 ARRAY 的分隔符(數據分割
      符號)
      map keys terminated by ':'        -- MAP 中的 key 與 value 的分隔符
      lines terminated by '\n';             -- 行分隔符
      4)導入文本數據到測試表
      hive (default)> load data local inpath ‘/opt/module/datas/test.txt’into table test
      5)訪問三種集合列里的數據,以下分別是 ARRAY,MAP,STRUCT 的訪問方式
      hive (default)> select friends[1],children['xiao song'],address.city from test
      where name="songsong";

      3 類型轉化

      Hive 的原子數據類型是可以進行隱式轉換的,類似于 Java 的類型轉換,例如某表達式使用 INT 類型,TINYINT 會自動轉換為 INT 類型,但是 Hive 不會進行反向轉化,例如,
      某表達式使用 TINYINT 類型,INT 不會自動轉換為 TINYINT 類型,它會返回錯誤,除非使用 CAST 操作。
       
      1.隱式類型轉換規則如下
      (1)任何整數類型都可以隱式地轉換為一個范圍更廣的類型,如 TINYINT 可以轉換成 INT,INT 可以轉換成 BIGINT。
      (2)所有整數類型、FLOAT 和 STRING 類型都可以隱式地轉換成 DOUBLE。
      (3)TINYINT、SMALLINT、INT 都可以轉換為 FLOAT。
      (4)BOOLEAN 類型不可以轉換為任何其它的類型。
      2.可以使用 CAST 操作顯示進行數據類型轉換
      例如 CAST('1' AS INT)將把字符串'1' 轉換成整數 1;如果強制類型轉換失敗,如執行CAST('X' AS INT),表達式返回空值 NULL。
      0: jdbc:hive2://hadoop102:10000> select '1'+2, cast('1'as int) + 2;
      +------+------+--+
      | _c0 | _c1 |
      +------+------+--+
      | 3.0 | 3 |
      +------+------+--+

       

      posted @ 2020-07-22 16:38  秋華  閱讀(3743)  評論(0)    收藏  舉報
      主站蜘蛛池模板: av午夜久久蜜桃传媒软件| 99人体免费视频| 国产萌白酱喷水视频在线观看| 亚洲第一成人网站| 99RE6在线观看国产精品| 好吊妞无缓冲视频观看| 蜜臀av午夜精品福利| 亚洲和欧洲一码二码三码| 久久97人人超人人超碰超国产| 精品无码国产污污污免费| 国产草草影院ccyycom| 无码va在线观看| 亚洲第四色在线中文字幕| 亚洲熟女乱色一区二区三区| 欧美日本国产va高清cabal| 国产精品欧美一区二区三区不卡| 亚洲乱码一区二区三区视色| 日韩精品 在线 国产 丝袜| 国产精品视频露脸| 国产av一区二区不卡| 亚洲永久一区二区三区在线| 亚洲国产精品一二三区| 九龙坡区| 99在线精品免费视频| 日韩人妻精品中文字幕| 本道久久综合无码中文字幕| 亚洲香蕉网久久综合影视| 久久这里都是精品二| 久久人人97超碰国产精品| 亚洲日韩成人无码不卡网站| 国产精品久久久久9999| 中文有无人妻vs无码人妻激烈| 国产中文一区卡二区不卡| 日韩一区二区三区精品区| 国产成人综合久久精品下载| 扎兰屯市| 东京热加勒比无码少妇| 寿光市| 亚洲成av人片天堂网无码| 在线看国产精品三级在线| 国产成人精品亚洲日本语言|