【分布式數據倉庫Hive】HivQL的使用

目錄

一、Hive的基本操作

1. 使用Hive創建數據庫test

2. 檢索數據庫(模糊查看),檢索形如’te*’的數據庫

3. 查看數據庫test詳情

4. 刪除數據庫test

5. 創建一個學生數據庫Stus,在其中創建一個內部表Student,表格包含兩列:學號(字符型),姓名(字符型)

6. 修改表student表結構,添加新的一列:年齡,整數型

7. 創建一個表格名為employees,列名和數據類型根據常用習慣系定義,其表結構能載入如下格式的數據,并映射為表結構對應的字段。

二、Sogou日志數據分析

1. 統計每個uid的查詢次數

2. 搜索關鍵字內容包含‘仙劍’超過三次的用戶id

3. 統計不重復的uid的行數


一、Hive的基本操作

1. 使用Hive創建數據庫test

create database test;show databases;  //查看數據庫

2. 檢索數據庫(模糊查看),檢索形如’te*’的數據庫

show database like 'te*';

3. 查看數據庫test詳情

describe database test;

?

4. 刪除數據庫test

drop database test;

5. 創建一個學生數據庫Stus,在其中創建一個內部表Student,表格包含兩列:學號(字符型),姓名(字符型)

create database Stus;use Stus;create table student(
sno string,
sname string
);

6. 修改表student表結構,添加新的一列:年齡,整數型

alter table student add column(sage int);

7. 創建一個表格名為employees,列名和數據類型根據常用習慣系定義,其表結構能載入如下格式的數據,并映射為表結構對應的字段。

1,hengdian,1000.0,13872787890,Zhejiang

2,hengqin,1234.0,18739292798,Guangdong

3,baishui,8797.0,13490980090,Hunan

寫出創建表格的語句,并使用load語句將上述數據內容載入表結構,該數據以文本文件的形式存放在本地文件系統,請自行用vi編輯器編輯。

data.txt

創建表的語法:

create table employees(
eno string,
ename string,
esal float,
phone string,
address string )
row format delimited 
fields terminated by ',' ;
descripe employees;

導入本地數據語法:

load data local inpath '/home/gdpu/data.txt' into table employees;
select * from employees;?

二、Sogou日志數據分析

請完成創建外部表格并關聯sogou的500w數據,使用HiveQL完成下列數據分析。寫出Hive語句和執行結果。

create table sogou2024 (
times string,
uid string,
keyword string,
ranks int,
orders int,
URL string )
row format delimited 
fields terminated by '\t';

?

load data inpath 'hdfs://hadoop100:8020/sogou.500w.utf8' into table sogou2024;
select * from sogou2024 limit 10;? //驗證是否導入成功

1. 統計每個uid的查詢次數

select uid, count(*) as cnt from sogou2024 group by uid;

?下面的截圖是執行結果的最后一部分,結果有135萬多行。

2. 搜索關鍵字內容包含‘仙劍’超過三次的用戶id

select uid 
from sogou2024 
where keyword like’%仙劍%’group by uid 
having count(*) > 3 ;

運行截圖 :

3. 統計不重復的uid的行數

select count(distinct uid) as unique_uid_count?from sogou2024;

運行截圖:?

4. 統計搜索的關鍵字詞頻,找出查詢頻度超過20的關鍵詞和其頻度,按照頻度從高到低排列。

select keyword?,?count(*) as frequencyfrom sogou2024group by keywordhaving count(*) > 20order by frequency desc;

運行截圖:??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40167.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40167.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40167.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ubuntu20.04在anaconda環境下不能使用catkin_make

ubuntu20.04在anaconda環境下不能直接使用catkin_make編譯,報錯顯示需要安裝python3-empy 這時候查詢會發現該軟件包已經安裝了,但是是在ROS環境中,安裝anaconda環境后python解釋器的指向變了,所以需要在anaconda環境中再裝pytho…

Unity udp通信詳解

在Unity中實現UDP通信,需要使用C#的System.Net和System.Net.Sockets命名空間。UDP(用戶數據報協議)是一種無連接的網絡協議,它允許數據包在網絡上發送和接收,但不保證數據包的到達順序、完整性或可靠性。這使得UDP非常…

沃德校園助手丨校園跑腿-校園外賣-校園論壇三合一系統

校園跑腿項目其實由來已久,由于大學校園生活的特殊性,除了日常的課程學習之外,大學生的所有生活基本長期處于全模式形態下的校園封閉環境中,再加之當前大學生一部分學業繁忙,辦事不便。另一部分自理能力較差&#xff0…

【kafka】可視化工具cmak(原kafka-manager)安裝問題解決

眾所周知(反正不管你知不知道),kafka-maneger更名了,現在叫cmak!原因是什么呢?據不可靠小道信息說,原kafka-manager這個名字涉及到kafka商標使用問題,應該是被律師函警告了&#xff…

如何批量創建、提取和重命名文件夾!!!

你是否還在一個一個手動創建文件名! 你是否還在一個一個手動提取文件名! 你是否還在一個一個手動修改文件名! 請隨小生一起批量自動創建、提取、重命名! 1、批量創建文件夾 【案例】創建1日-31日共31個文件夾 【第一步】在A列…

Android SurfaceFlinger——動畫播放流程(十六)

前兩篇文章介紹了系統啟動動畫服務的啟動和準備階段,并且我們選擇了自定義動畫的分支,該分支的動畫播放流程主要包含一下幾個階段: loadAnimation:解析 zip 包的動畫數據。playAnimation:播放解析好的紋理數據。releaseAnimation:播放完畢釋放資源。一、動畫播放流程 1、…

Gradle學習-5 發布二進制插件

注:以下示例基于Gradle8.0 1、發布插件 復制一分 buildSrc,執行命令行,生成一個新目錄 leon-gradle-plugin cp -rf buildSrc leon-gradle-plugin在 leon-gradle-plugin 目錄下的 build.gradle 中引入maven plugins{// 引用 Groovy 插件&…

(五十二)第 8 章 動態存儲管理(邊界標識法)

1. 背景說明 2. 示例代碼 1) errorRecord.h // 記錄錯誤宏定義頭文件#ifndef ERROR_RECORD_H #define ERROR_RECORD_H#include <stdio.h> #include <string.h> #include <stdint.h>// 從文件路徑中提取文件名 #define FILE_NAME(X) strrchr(X, \\) ? strr…

Linux環境下的字節對齊現象

在Linux環境下&#xff0c;字節對齊是指數據在內存中的存儲方式。字節對齊是為了提高內存訪問的效率和性能。 在Linux中&#xff0c;默認情況下&#xff0c;結構體和數組的成員會進行字節對齊。具體的對齊方式可以通過編譯器選項來控制。 在使用C語言編寫程序時&#xff0c;可…

【Linux】線程——線程的概念、線程的特點、線程的優點和缺點、線程和進程、線程函數的使用

文章目錄 Linux線程1. 線程的概念1.1 什么是線程 2. 線程的特點2.1 線程的優點2.2 線程的缺點2.4 線程和進程 3. 線程函數的使用pthread_create() 創建線程pthread_self() 獲取線程IDpthread_exit() 線程終止pthread_cancel() 線程取消pthread_join() 線程等待pthread_detach()…

【第14章】MyBatis-Plus批量操作

文章目錄 前言一、功能概覽二、類結構說明1.MybatisBatch<?>2.MybatisBatch.Method<?>3. BatchMethod<?>4.使用步驟5.返回值說明 三、使用示例1. execute方法2. 示例一&#xff1a;實體類型數據3. 示例二&#xff1a;非實體類型數據4. 示例三&#xff1a;…

茗鶴 | 如何借助APS高級計劃排程系統提高汽車整車制造的效率

在我們做了詳盡的市場調研及頭部汽車制造企業排程需求溝通后&#xff0c;我們發現盡管企業有很多的業務系統做支撐&#xff0c;在計劃排程領域&#xff0c;所有的汽車制造總裝廠仍舊使用人工“Excel”做排產規劃&#xff0c;其中少部分也會借助MRP、第三方輔助排產工具。鑒于我…

ChatGPT:Java中的對象引用實現方式

ChatGPT&#xff1a;Java中的對象引用實現方式 如果使用句柄的話&#xff0c;那么 Java 堆中將會劃分出一塊內存來作為句柄池&#xff0c;reference 中存儲的就是對象的句柄地址&#xff0c;而句柄中包含了對象實例數據與對象類型數據各自的具體地址信息。 你提到的句柄機制是…

JVM原理(十一):JVM虛擬機六種必需對類進行初始化的情況

Java虛擬機把描述類的數據從Class文件加載到內存&#xff0c;并對數據進行校驗、轉換解析和初始化&#xff0c;最終形成可以被虛擬機直接使用的Java類型&#xff0c;這個過程被稱作虛擬機的類加載機制。Java天生可以動態擴展的語言特性就是依賴運行期間動態加載和動態鏈接這個特…

104.二叉樹的最大深度

給定一個二叉樹 root &#xff0c;返回其最大深度。 二叉樹的 最大深度 是指從根節點到最遠葉子節點的最長路徑上的節點數。 示例 1&#xff1a; 輸入&#xff1a;root [3,9,20,null,null,15,7] 輸出&#xff1a;3 示例 2&#xff1a; 輸入&#xff1a;root [1,null,2] 輸出…

相機參數與圖像處理技術解析

01. 相機內參和外參的含義&#xff1f;如果將圖像放大兩倍&#xff0c;內外參如何變化&#xff1f; 相機有兩個最基礎的數據&#xff1a;內參(Instrinsics)和外參(Extrinsics)&#xff0c;內參主要描述的是相機的CCD/CMOS感光片尺寸/分辨率以及光學鏡頭的系數&#xff0c;外參主…

每日兩題 / 20. 有效的括號 155. 最小棧(LeetCode熱題100)

20. 有效的括號 - 力扣&#xff08;LeetCode&#xff09; 遇到左括號入棧 遇到右括號判斷棧頂是否為匹配的左括號 最后判斷棧是否為空 func isValid(s string) bool {var stk []runefor _, value : range s {if value ( || value { || value [ {stk append(stk, value)}…

阿里巴巴圖標庫iconfont的使用方式

文章目錄 什么是 iconfong創建一個自己的項目如何使用Unicode 使用方法Font class 使用方式Symbol 使用方式還有一種使用方式 在線鏈接&#xff08;不推薦&#xff0c;但可用于測試&#xff09; 什么是 iconfong Iconfont 是一種圖標字體服務。它將各種圖標設計轉換為字體格式…

數據庫的約束與索引

數據庫的約束與索引 文章目錄 數據庫的約束與索引一、約束1、定義2、主鍵索引3、唯一約束4、非空約束5、外鍵約束 二、索引1、定義2、主鍵索引3、唯一索引4、普通索引5、全文索引 三、深入索引面試題&#xff08;一&#xff09;面試題&#xff08;二&#xff09;面試題&#xf…

【設計模式】行為型-狀態模式

在變幻的時光中&#xff0c;狀態如詩篇般細膩流轉。 文章目錄 一、可調節的燈光二、狀態模式三、狀態模式的核心組件四、運用狀態模式五、狀態模式的應用場景六、小結推薦閱讀 一、可調節的燈光 場景假設&#xff1a;我們有一個電燈&#xff0c;它可以被打開和關閉。用戶可以…