首頁 資料庫 mysql教程 自定义Hive权限控制(2) 权限配置项目

自定义Hive权限控制(2) 权限配置项目

Jun 10, 2016 pm 03:12 PM
hive 控制 權限 自訂 配置 專案

权限配置项目不是这个项目的关键环节,不需要很繁琐。所以我这里使用 django admin进行开发。 django admin只要针对表关系建立相应的对象配置上即可使用。还是比较方便的。 在这里我建立的对象如下: hive 对象相关表 Hive数据库信息 用于存储当前 hive 中的

权限配置项目不是这个项目的关键环节,不需要很繁琐。所以我这里使用django admin进行开发。
django admin只要针对表关系建立相应的对象配置上即可使用。还是比较方便的。
在这里我建立的对象如下:

hive对象相关表
Hive数据库信息 用于存储当前hive中的数据库。
Hive数据库表信息 用于存储当前hive中的表信息。
Hive不允许访问的列信息 用于存储关键列,这个表需要与hive数据库表信息关联。
Hive频道分区信息 用于储存当前hive中表的分区信息。
Hive必须包含的列信息 用于存储当前查询中hive必须包含的特殊列。

权限表
用户HiveServer权限表s 用于将使用者与以上hive对象相关联。

表结构如下:

class HiveDB(models.Model):????id = models.AutoField(primary_key=True)????name = models.CharField(max_length=40,verbose_name=u'数据库名称')????desc = models.CharField(max_length=200,verbose_name=u'描述',null = True, blank = True)????class Meta:????????db_table = u'hive_db'????????verbose_name = u'hive数据库列表'????def __unicode__(self):????????return self.name?class HivePtchannelValue(models.Model):????id = models.AutoField(primary_key=True)????name = models.CharField(max_length=40,verbose_name=u'频道')????desc = models.CharField(max_length=200,verbose_name=u'描述',null = True, blank = True)????class Meta: ????????db_table = u'hive_ptchannel_value'????????verbose_name = u'hive频道分区列表'????def __unicode__(self):????????return self.name?class HiveTable(models.Model): ????id = models.AutoField(primary_key=True)????db = models.ForeignKey(HiveDB)????name =models.CharField(max_length=40,verbose_name=u'表名')????ptinfo = models.CharField(max_length=200,verbose_name=u'分区列',null = True, blank = True)????desc =models.CharField(max_length=200,verbose_name=u'描述',null = True, blank = True)????class Meta:????????db_table = u'hive_table'????????verbose_name = u'hive数据库表列表'????def __unicode__(self): ????????return self.db.name+"."+self.name?class ExcludeColumn(models.Model):????id = models.AutoField(primary_key=True)????name =models.CharField(max_length=40,verbose_name=u'名称')????table = models.ForeignKey(HiveTable)????column =models.CharField(max_length=60,verbose_name=u'列名列表')????desc =models.CharField(max_length=200,verbose_name=u'描述',null = True, blank = True)????class Meta:????????db_table = u'hive_excludecolumn'????????verbose_name = u'hive不允许访问列'????def __unicode__(self):????????return self.table.name+"."+self.name?class IncludeColumn(models.Model):????id = models.AutoField(primary_key=True)????name =models.CharField(max_length=40,verbose_name=u'名称')????table = models.ForeignKey(HiveTable)????column =models.CharField(max_length=60,verbose_name=u'列名列表')????desc =models.CharField(max_length=200,verbose_name=u'描述',null = True, blank = True)????class Meta:????????db_table = u'hive_includecolumn'????????verbose_name = u'hive必须包含列'????def __unicode__(self):????????return self.table.name+"."+self.name?class HiveUserAuth(models.Model):????user = models.ForeignKey(User)????dbGroups = models.ManyToManyField(HiveDB, verbose_name=u'hive数据库', blank=True)????tableGroups = models.ManyToManyField(HiveTable, verbose_name=u'hive数据表', blank=True)????exGroups = models.ManyToManyField(ExcludeColumn, verbose_name=u'hive不包含列', blank=True)????inGroups = models.ManyToManyField(IncludeColumn, verbose_name=u'hive包含列', blank=True)????ptGroups = models.ManyToManyField(HivePtchannelValue, verbose_name=u'频道分区', blank=True)????maxMapCount = models.IntegerField(max_length = 4,blank=True,null=True, verbose_name = u'最大任务分区数')????maxRedCount = models.IntegerField(max_length = 2,blank=True,null=True, verbose_name = u'最大reduce槽位')????class Meta:????????db_table = u'hive_user_auth'????????verbose_name = u'用户HiveServer权限表'????def __unicode__(self):????????return self.user.username
登入後複製

熟悉django的同学可以通过以上方式,很快的构建起一个方便的,安全的web服务。django使用这里就不介绍了,有兴趣的同学可以看一下本博客中关于django的一些介绍。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

一鍵開啟root權限(快速取得root權限) 一鍵開啟root權限(快速取得root權限) Jun 02, 2024 pm 05:32 PM

可以讓使用者對系統進行更深入的操作和定制,root權限是一種管理員權限,在Android系統中。取得root權限通常需要一系列繁瑣的步驟,對於一般使用者來說可能不太友善、然而。透過一鍵開啟root權限,本文將介紹一種簡單而有效的方法,幫助使用者輕鬆取得系統權限。了解root權限的重要性及風險擁有更大的自由度,root權限可以讓使用者完全控製手機系統。加強安全控制等,客製化主題、使用者可刪除預先安裝應用程式。例如誤刪系統檔案導致系統崩潰,過度使用root權限也有風險、不慎安裝惡意軟體等,然而。在使用root權限前

Linux系統中GDM的工作原理及配置方法 Linux系統中GDM的工作原理及配置方法 Mar 01, 2024 pm 06:36 PM

標題:Linux系統中GDM的工作原理及設定方法在Linux作業系統中,GDM(GNOMEDisplayManager)是一種常見的顯示管理器,用於控制圖形使用者介面(GUI)登入和使用者會話管理。本文將介紹GDM的工作原理和設定方法,以及提供具體的程式碼範例。一、GDM的工作原理GDM是GNOME桌面環境下的顯示管理器,負責啟動X伺服器並提供登入介面,使用者輸

AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 AI攻克費馬大定理?數學家放棄5年職業生涯,將100頁證明變代碼 Apr 09, 2024 pm 03:20 PM

費馬大定理,即將被AI攻克?而整件事最有意義的地方在於,AI即將解決的費馬大定理,正是為了證明AI無用。曾經,數學屬於純粹的人類智力王國;如今,這片疆土正被先進的演算法所破解,所踐踏。圖片費馬大定理,是一個「臭名昭著」的謎題,在幾個世紀以來,一直困擾著數學家。它在1993年被證明,而現在,數學家們有一個偉大計畫:用電腦把證明過程重現。他們希望在這個版本的證明中,如果有任何邏輯上的錯誤,都可以由電腦檢查出來。專案網址:https://github.com/riccardobrasca/flt

深入了解PyCharm:快速刪除項目的方法 深入了解PyCharm:快速刪除項目的方法 Feb 26, 2024 pm 04:21 PM

標題:深入了解PyCharm:刪除專案的高效方式近年來,Python作為一種強大而靈活的程式語言,受到越來越多開發者的青睞。在Python專案的開發中,選擇一個高效的整合開發環境至關重要。 PyCharm作為一款功能強大的整合開發環境,為Python開發者提供了許多便利的功能和工具,其中包括快速、有效率地刪除專案目錄。以下將著重介紹如何使用PyCharm中的刪除

了解Linux Bashrc:功能、設定與使用方法 了解Linux Bashrc:功能、設定與使用方法 Mar 20, 2024 pm 03:30 PM

了解LinuxBashrc:功能、配置與使用方法在Linux系統中,Bashrc(BourneAgainShellrunco​​mmands)是一個非常重要的配置文件,其中包含了系統啟動時自動運行的各種命令和設定。 Bashrc文件通常位於使用者的家目錄下,是一個隱藏文件,它的作用是為使用者自訂設定Bashshell的環境。一、Bashrc的功能設定環境

edius自訂螢幕佈局的操作流程 edius自訂螢幕佈局的操作流程 Mar 27, 2024 pm 06:50 PM

1.下圖是edius預設的螢幕佈局,預設的EDIUS視窗佈局是橫向版式,因此在單一顯示器環境中,許多視窗是重疊在一起的,且預覽視窗為單一視窗模式。 2、您可以透過【檢視】選單列啟用【雙視窗模式】,使預覽視窗同時顯示播放視窗和錄製視窗。 3.您可以透過【檢視功能表列>視窗佈局>常規】來恢復預設螢幕佈局。另外您也可以自訂適合您的佈局方式,並儲存為常用螢幕佈局:將視窗拖曳成適合自己的佈局,然後點擊【檢視>視窗佈局>儲存目前佈局>新建】,在彈出的【儲存目前佈局】小視窗中輸入佈局名稱,按確定

Linux系統中如何設定和安裝FTPS Linux系統中如何設定和安裝FTPS Mar 20, 2024 pm 02:03 PM

標題:Linux系統中如何配置和安裝FTPS,需要具體程式碼範例在Linux系統中,FTPS是一種安全的檔案傳輸協議,與FTP相比,FTPS透過TLS/SSL協議對傳輸的資料進行加密,提高了資料傳輸的安全性。在本文中,將介紹如何在Linux系統中設定和安裝FTPS,並提供特定的程式碼範例。步驟一:安裝vsftpd開啟終端,輸入以下指令安裝vsftpd:sudo

Discuz論壇權限管理:閱讀權限設定指南 Discuz論壇權限管理:閱讀權限設定指南 Mar 10, 2024 pm 05:33 PM

Discuz論壇權限管理:閱讀權限設定指南在Discuz論壇管理中,權限設定是至關重要的一環。其中,閱讀權限的設定尤其重要,它決定了不同使用者在論壇中能夠看到的內容範圍。本文將詳細介紹Discuz論壇的閱讀權限設置,以及如何針對不同的需求進行靈活的配置。一、閱讀權限基礎概念在Discuz論壇中,閱讀權限主要有以下幾個概念需要了解:預設閱讀權限:新使用者註冊後預設

See all articles