最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

鎖屏面試題百日百刷-Hive篇(七)

2023-03-01 21:57 作者:zjlala96  | 我要投稿

????鎖屏面試題百日百刷,每個工作日堅持更新面試題。鎖屏面試題app、小程序現(xiàn)已上線,官網(wǎng)地址:https://www.demosoftware.cn。已收錄了每日更新的面試題的所有內(nèi)容,還包含特色的解鎖屏幕復(fù)習(xí)面試題、每日編程題目郵件推送等功能。讓你在面試中先人一步!接下來的是今日的面試題:


1.生產(chǎn)環(huán)境中為什么建議使用外部表?

1)因為外部表不會加載數(shù)據(jù)到Hive,減少數(shù)據(jù)傳輸,數(shù)據(jù)還能共享。

2)Hive不會修改數(shù)據(jù),所以無需擔(dān)心數(shù)據(jù)的損壞。

3)刪除表時,只刪除表結(jié)構(gòu),不刪除數(shù)據(jù)。

2.metastore 安裝方式有什么區(qū)別?

內(nèi)嵌模式

內(nèi)嵌模式使用的是內(nèi)嵌的 Derby 數(shù)據(jù)庫來存儲元數(shù)據(jù),也不需要額外起 Metastore 服務(wù)。

這個是默認的,配置簡單,但是一次只能一個客戶端連接,適用于用來實驗,不適用于生產(chǎn)環(huán)境。

本地元存儲

本地安裝?mysql 替代 derby 存儲元數(shù)據(jù),這種安裝方式和嵌入式的區(qū)別在于,不再使用內(nèi)

嵌的 Derby 作為元數(shù)據(jù)的存儲介質(zhì),而是使用其他數(shù)據(jù)庫比如 MySQL 來存儲元數(shù)據(jù)。hive 服務(wù)和 metastore 服務(wù)運行在同一個進程中,mysql 是單獨的進程,可以同一臺機器,也可以在遠程機器上。

遠程元存儲(HiveServer2)

Hive 服務(wù)和 metastore 在不同的進程內(nèi),可能是不同的機器,該模式需要將

hive.metastore.uris 設(shè)置為 metastore 服務(wù)器 URL,如果有多個 metastore 服務(wù)器,將 URL 之間用逗號分隔,metastore 服務(wù)器 URL 的格式為 thrift://127.0.0.1:9083。

3.insert into 和 override write區(qū)別?

insert into:將某一張表中的數(shù)據(jù)寫到另一張表中

override write:覆蓋之前的內(nèi)容。

4.寫出將text.txt文件放入hive中test表‘2016-10-10’分區(qū)的語句,test的分區(qū)字段是 l_date

LOAD DATA LOCAL INPATH '/your/path/test.txt' OVERWRITE INTO TABLE test PARTITION (l_date='2016-10-10')

5.Hive如何進行權(quán)限控制?

目前hive支持簡單的權(quán)限管理,默認情況下是不開啟,這樣所有的用戶都具有相同的權(quán)限,同時也是超級管理員,也就對hive中的所有表都有查看和改動的權(quán)利,這樣是不符合一般數(shù)據(jù)倉庫的安全原則的。Hive可以是基于元數(shù)據(jù)的權(quán)限管理,也可以基于文件存儲級別的權(quán)限管理。

為了使用Hive的授權(quán)機制,有兩個參數(shù)必須在hive-site.xml中設(shè)置:

<property>

<name>hive.security.authorization.enabled</name>

<value>true</value>

<description>enable or disable the hive client authorization</description>

</property>

<property>

<name>hive.security.authorization.createtable.owner.grants</name>

<value>ALL</value>

<description>the privileges automatically granted to the owner whenever a table gets created. An

example like "select,drop" will grant select and drop privilege to the owner of the table</description>

</property>

Hive支持以下權(quán)限:

?

Hive授權(quán)的核心就是用戶(user)、組(group)、角色(role)。

Hive中的角色和平常我們認知的角色是有區(qū)別的,Hive中的角色可以理解為一部分有一些相同“屬性”的用戶或組或角色的集合。這里有個遞歸的概念,就是一個角色可以是一些角色的集合。

下面舉例進行說明:

用戶?組

張三?G_db1

李四?G_db2

王五?G_bothdb

如上有三個用戶分別屬于G_db1、G_db2、G_alldb。G_db1、G_db2、G_ bothdb分別表示該組用戶可以訪問數(shù)據(jù)庫1、數(shù)據(jù)庫2和可以訪問1、2兩個數(shù)據(jù)庫?,F(xiàn)在可以創(chuàng)建role_db1和role_db2,分別并授予訪問數(shù)據(jù)庫1和數(shù)據(jù)庫2的權(quán)限。這樣只要將role_eb1賦給G_db1(或者該組的所有用戶),將role_eb2賦給G_db2,就可以是實現(xiàn)指定用戶訪問指定數(shù)據(jù)庫。最后創(chuàng)建role_bothdb指向role_db1、role_db2(role_bothdb不需要指定訪問那個數(shù)據(jù)庫),

然后role_bothdb授予G_bothdb,則G_bothdb中的用戶可以訪問兩個數(shù)據(jù)庫。

Hive的用戶和組使用的是Linux機器上的用戶和組,而角色必須自己創(chuàng)建。

角色管理:

--創(chuàng)建和刪除角色

create role role_name;

drop role role_name; --展示所有roles

show roles --賦予角色權(quán)限

grant select on database db_name to role role_name;

grant select on [table] t_name to role role_name; --查看角色權(quán)限

show grant role role_name on database db_name;

show grant role role_name on [table] t_name; --角色賦予用戶

grant role role_name to user user_name

--回收角色權(quán)限

revoke select on database db_name from role role_name;

revoke select on [table] t_name from role role_name; --查看某個用戶所有角色

show role grant user user_name;

鎖屏面試題百日百刷-Hive篇(七)的評論 (共 條)

分享到微博請遵守國家法律
大方县| 涪陵区| 沾益县| 光泽县| 石柱| 进贤县| 富蕴县| 瑞金市| 福贡县| 亳州市| 彰化县| 保亭| 海晏县| 绥芬河市| 朝阳市| 垫江县| 惠州市| 宁海县| 郧西县| 宁乡县| 卓尼县| 库尔勒市| 甘泉县| 巩留县| 涞源县| 拉萨市| 龙川县| 康乐县| 仙桃市| 辽宁省| 阿拉善左旗| 仙桃市| 楚雄市| 色达县| 马山县| 慈溪市| 平安县| 浏阳市| 定边县| 滨海县| 宁武县|