Hive數(shù)據(jù)按行過(guò)濾
Ranger支持對(duì)Hive數(shù)據(jù)按行進(jìn)行過(guò)濾(Row Level Filter),即可以對(duì)Select返回的結(jié)果按行進(jìn)行過(guò)濾,只顯示滿(mǎn)足指定條件的行。本文介紹如何將Hive數(shù)據(jù)按行進(jìn)行過(guò)濾。
前提條件
已創(chuàng)建集群,并選擇了Ranger服務(wù),詳情請(qǐng)參見(jiàn)創(chuàng)建集群。
已創(chuàng)建按行過(guò)濾的表。
操作步驟
本文Ranger截圖以2.1.0版本為例,其余版本請(qǐng)以實(shí)際界面為準(zhǔn)。
Hive組件配置Ranger,詳情請(qǐng)參見(jiàn)文檔配置Hive開(kāi)啟Ranger權(quán)限控制。
在Ranger頁(yè)面,單擊emr-hive。
配置Row Level Filter Policy。
單擊上方的Row Level Filter頁(yè)簽。
單擊右上角的Add New Policy。
在Create Policy頁(yè)面,配置相關(guān)參數(shù)。
參數(shù)
描述
示例
Policy Name
Policy的名稱(chēng)。您可以自定義。
test-row-filter
Hive Database
添加Hive中的數(shù)據(jù)庫(kù)。
default
Hive Table
添加表。
test_row_filter
Select User
選擇配置按行過(guò)濾的用戶(hù)。
testc
Access Types
選擇授予的權(quán)限。
select
Row Level Filter
填寫(xiě)過(guò)濾的函數(shù)。
id>=10
單擊Add。
可選:測(cè)試按行過(guò)濾數(shù)據(jù)。
例如,testc用戶(hù)使用
select * from default.test_row_filter;
語(yǔ)句,查看表default.test_row_filter中的數(shù)據(jù)時(shí),只能顯示id≥10的數(shù)據(jù)。