Rumah pangkalan data tutorial mysql 自定义Hive权限控制(2) 权限配置项目

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

Jun 10, 2016 pm 03:12 PM
hive kawalan kebenaran Sesuaikan Konfigurasi projek

权限配置项目不是这个项目的关键环节,不需要很繁琐。所以我这里使用 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
Salin selepas log masuk

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

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dayakan kebenaran root dengan satu klik (dapatkan kebenaran root dengan cepat) Dayakan kebenaran root dengan satu klik (dapatkan kebenaran root dengan cepat) Jun 02, 2024 pm 05:32 PM

Dayakan kebenaran root dengan satu klik (dapatkan kebenaran root dengan cepat)

Bolehkah AI menakluki teorem terakhir Fermat? Ahli matematik melepaskan 5 tahun kerjayanya untuk mengubah 100 halaman bukti menjadi kod Bolehkah AI menakluki teorem terakhir Fermat? Ahli matematik melepaskan 5 tahun kerjayanya untuk mengubah 100 halaman bukti menjadi kod Apr 09, 2024 pm 03:20 PM

Bolehkah AI menakluki teorem terakhir Fermat? Ahli matematik melepaskan 5 tahun kerjayanya untuk mengubah 100 halaman bukti menjadi kod

Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux Mar 01, 2024 pm 06:36 PM

Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux

Melihat lebih dekat pada PyCharm: cara cepat untuk memadamkan projek Melihat lebih dekat pada PyCharm: cara cepat untuk memadamkan projek Feb 26, 2024 pm 04:21 PM

Melihat lebih dekat pada PyCharm: cara cepat untuk memadamkan projek

Fahami Linux Bashrc: fungsi, konfigurasi dan penggunaan Fahami Linux Bashrc: fungsi, konfigurasi dan penggunaan Mar 20, 2024 pm 03:30 PM

Fahami Linux Bashrc: fungsi, konfigurasi dan penggunaan

Proses pengendalian susun atur skrin tersuai edius Proses pengendalian susun atur skrin tersuai edius Mar 27, 2024 pm 06:50 PM

Proses pengendalian susun atur skrin tersuai edius

Bagaimana untuk menyesuaikan paksi-x dan paksi-y dalam excel? (Bagaimana untuk menyesuaikan skala paksi excel) Bagaimana untuk menyesuaikan paksi-x dan paksi-y dalam excel? (Bagaimana untuk menyesuaikan skala paksi excel) Mar 14, 2024 pm 02:10 PM

Bagaimana untuk menyesuaikan paksi-x dan paksi-y dalam excel? (Bagaimana untuk menyesuaikan skala paksi excel)

Pusat Kawalan tidak berfungsi dalam iPhone: Betulkan Pusat Kawalan tidak berfungsi dalam iPhone: Betulkan Apr 17, 2024 am 08:16 AM

Pusat Kawalan tidak berfungsi dalam iPhone: Betulkan

See all articles