原创 hive同一張表union all的優化

insert overwrite table dwd.dwd_user_play_event_1d_delta_daily partitions (dt = '${DT}') select * from ods.user_e

原创 centos7中jdk的安裝

先檢查是否已安裝jdk java -version 如果提示沒有此命令可再看下是否有系統自帶的jdk安裝包 rpm -qa | grep java 如果有,將其刪除 官網下載jdk https://www.oracle.com/t

原创 hive創建表的三種方式

hive的表分爲三種:內部表(刪除表會同時刪除HDFS文件)、外部表(刪除表只會刪除源數據,並不會刪除HDFS文件)、臨時表(只會當前會話有效,會話結束,臨時表消失) hive創建表的方式有三種: 直接創建表 CREATE [

原创 hive列轉行:將多列按列名和值轉換爲兩列

表結構:operation_name, network_type, shell_time, shell_time2, load_time 需求:將shell_time, shell_time2, load_time三個字段轉爲兩個

原创 hadoop安裝完後網頁http://localhost:50070/ 打不開

首先通過jps查看namenode和datanode是否啓動成功,如果沒有啓動成功,查找啓動失敗原因,這裏是假設啓動成功了的情況下訪問不了50070。 可能是防火牆沒關閉 centos7關閉防火牆 systemctl start

原创 hive中的union和union all的區別

在hive中,union和union all都是對兩個子查詢的結果合併,不過還是有區別的,union會對兩個子查詢的結果去重合並,而union all不會對子查詢結果去重處理。 接下來驗證通過實戰進行驗證,下面是兩張表的數據。 注

原创 Linux基本命令執行報錯:command not found 的解決辦法

原因是環境變量的問題,編輯profile文件沒有寫正確,導致在命令行下 ls等命令不能夠識別。 解決辦法:在命令行下打入下面這段就可以了,將所有命令的路徑添加到PATH下,系統能找到這些命令腳本文件 export PATH=/us

原创 Shell中字符串截取詳解

文章目錄從指定位置開始截取從字符串左邊開始計數從右邊開始計數從指定字符(子字符串)開始截取使用 # 號截取右邊字符使用 % 截取左邊字符彙總 Shell 截取字符串通常有兩種方式:從指定位置開始截取和從指定字符(子字符串)開始截

原创 hive解析不確定key的json,將key和value分別放入兩列

最近接到需求:客戶端上報json數據,入數據庫後需要對json中的key分組統計時長和次數,但json中的key是不確定的,經常會增刪。 明細層模型設計:將key和value分別設計爲1列,這樣能不需要關心json中的key和va

原创 shell中的getopts

在bash中,可以用以下三種方式來處理命令行參數: 直接處理:使用$1,$2,...,$n進行解析 getopts:單個字符選項的情況(如:-f file.txt等選項) getopt:可以處理單個字符選項,也可以處理長選項lo

原创 HBase概述(概念、數據模型、特點和優勢)

目錄HBase是什麼?HBase與RDBMS對比數據模型NameSpaceTableRow KeyColumns FamilyTimeStampCellHBase的特點 HBase是什麼? HBase是一個高可靠性、高性能、面向

原创 使用shell按天循環執行指定連續週期內的hive代碼

廢話不多少,直接上代碼: #!/bin/sh #***************************************************************************************** #

原创 shell中的getopt

Linux中的位置變量和預定義變量 shell中的getopts getopt是一個外部命令,不是bash內置命令,Linux發行版通常會自帶 getopt支持短選項和長選項 老版本的getopt問題較多,增強版getopt比較

原创 Linux常用命令彙總及示例

文章目錄一、認識Linux系統及基礎命令1 構成2 重要的二級目錄3 基礎命令二、文件管理命令:Linux中沒有後綴之分1 增:mkdir touch2 刪、清空3 改:vim3.1 命令模式:剛剛打開時進入命令模式3.2 插入

原创 hive metastore和hiveserver2啓動腳本

cat start-metastore.sh #!/bin/sh HIVE_HOME=/opt/software/hive-3.1.1 ## 啓動服務的時間 DATE_STR=`/bin/date '+%Y%m%d%H%M%