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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat 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

Ia membolehkan pengguna melakukan operasi yang lebih mendalam dan penyesuaian sistem kebenaran Root ialah kebenaran pentadbir dalam sistem Android. Mendapatkan keistimewaan root biasanya memerlukan satu siri langkah yang membosankan, yang mungkin tidak mesra pengguna biasa, bagaimanapun. Dengan mendayakan kebenaran root dengan satu klik, artikel ini akan memperkenalkan kaedah yang mudah dan berkesan untuk membantu pengguna mendapatkan kebenaran sistem dengan mudah. Fahami kepentingan dan risiko kebenaran root dan mempunyai kebebasan yang lebih besar keizinan Root membolehkan pengguna mengawal sepenuhnya sistem telefon mudah alih. Kuatkan kawalan keselamatan, sesuaikan tema dan pengguna boleh memadamkan aplikasi yang diprapasang. Sebagai contoh, pemadaman fail sistem secara tidak sengaja menyebabkan ranap sistem, penggunaan keistimewaan akar yang berlebihan dan pemasangan perisian hasad secara tidak sengaja juga berisiko, walau bagaimanapun. Sebelum menggunakan keistimewaan root

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

Tajuk: Prinsip kerja dan kaedah konfigurasi GDM dalam sistem Linux Dalam sistem pengendalian Linux, GDM (GNOMEDisplayManager) ialah pengurus paparan biasa yang digunakan untuk mengawal log masuk antara muka pengguna grafik (GUI) dan pengurusan sesi pengguna. Artikel ini akan memperkenalkan prinsip kerja dan kaedah konfigurasi GDM, serta menyediakan contoh kod khusus. 1. Prinsip kerja GDM GDM ialah pengurus paparan dalam persekitaran desktop GNOME Ia bertanggungjawab untuk memulakan pelayan X dan menyediakan antara muka log masuk

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

Teorem terakhir Fermat, akan ditakluki oleh AI? Dan bahagian yang paling bermakna dari keseluruhannya ialah Teorem Terakhir Fermat, yang akan diselesaikan oleh AI, dengan tepat untuk membuktikan bahawa AI tidak berguna. Suatu ketika dahulu, matematik tergolong dalam alam kecerdasan manusia yang tulen kini, wilayah ini dihuraikan dan diinjak oleh algoritma canggih. Imej Teorem Terakhir Fermat ialah teka-teki "terkenal" yang telah membingungkan ahli matematik selama berabad-abad. Ia telah terbukti pada tahun 1993, dan kini ahli matematik mempunyai rancangan besar: untuk mencipta semula bukti menggunakan komputer. Mereka berharap bahawa sebarang ralat logik dalam versi bukti ini boleh disemak oleh komputer. Alamat projek: https://github.com/riccardobrasca/flt

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

Tajuk: Ketahui lebih lanjut tentang PyCharm: Cara yang cekap untuk memadamkan projek Dalam beberapa tahun kebelakangan ini, Python, sebagai bahasa pengaturcaraan yang berkuasa dan fleksibel, telah digemari oleh semakin ramai pembangun. Dalam pembangunan projek Python, adalah penting untuk memilih persekitaran pembangunan bersepadu yang cekap. Sebagai persekitaran pembangunan bersepadu yang berkuasa, PyCharm menyediakan pembangun Python dengan banyak fungsi dan alatan yang mudah, termasuk memadamkan direktori projek dengan cepat dan cekap. Berikut akan memberi tumpuan kepada cara menggunakan padam dalam PyCharm

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

Memahami Linux Bashrc: Fungsi, Konfigurasi dan Penggunaan Dalam sistem Linux, Bashrc (BourneAgainShellruncommands) ialah fail konfigurasi yang sangat penting, yang mengandungi pelbagai arahan dan tetapan yang dijalankan secara automatik apabila sistem dimulakan. Fail Bashrc biasanya terletak dalam direktori rumah pengguna dan merupakan fail tersembunyi Fungsinya adalah untuk menyesuaikan persekitaran Bashshell untuk pengguna. 1. Persekitaran tetapan fungsi Bashrc

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

1. Gambar di bawah ialah susun atur skrin lalai bagi edius Tataletak tetingkap EDIUS lalai adalah susun atur mendatar Oleh itu, dalam persekitaran monitor tunggal, banyak tetingkap bertindih dan tetingkap pratonton berada dalam mod tetingkap tunggal. 2. Anda boleh mendayakan [Dual Window Mode] melalui bar menu [View] untuk menjadikan tetingkap pratonton memaparkan tetingkap main balik dan tetingkap rakaman pada masa yang sama. 3. Anda boleh memulihkan reka letak skrin lalai melalui [Lihat bar menu>Reka Letak Tetingkap>Umum]. Selain itu, anda juga boleh menyesuaikan reka letak yang sesuai dengan anda dan menyimpannya sebagai susun atur skrin yang biasa digunakan: seret tetingkap ke susun atur yang sesuai dengan anda, kemudian klik [Lihat > ​​Reka Letak Tetingkap > Simpan Reka Letak Semasa > Baharu], dan dalam pop timbul [Save Current Layout] Layout] masukkan nama susun atur dalam tetingkap kecil dan klik OK

Bagaimana untuk mengkonfigurasi dan memasang FTPS dalam sistem Linux Bagaimana untuk mengkonfigurasi dan memasang FTPS dalam sistem Linux Mar 20, 2024 pm 02:03 PM

Tajuk: Cara mengkonfigurasi dan memasang FTPS dalam sistem Linux, contoh kod khusus diperlukan Dalam sistem Linux, FTPS ialah protokol pemindahan fail yang selamat Berbanding dengan FTP, FTPS menyulitkan data yang dihantar melalui protokol TLS/SSL, yang menambah baik. Keselamatan penghantaran data. Dalam artikel ini, kami akan memperkenalkan cara mengkonfigurasi dan memasang FTPS dalam sistem Linux dan memberikan contoh kod khusus. Langkah 1: Pasang vsftpd Buka terminal dan masukkan arahan berikut untuk memasang vsftpd: sudo

Pengurusan Kebenaran Forum Discuz: Baca Panduan Tetapan Kebenaran Pengurusan Kebenaran Forum Discuz: Baca Panduan Tetapan Kebenaran Mar 10, 2024 pm 05:33 PM

Pengurusan kebenaran forum Discuz: Baca panduan tetapan kebenaran Dalam pengurusan forum Discuz, tetapan kebenaran adalah bahagian yang penting. Antaranya, penetapan kebenaran membaca amat penting, kerana ia menentukan skop kandungan yang boleh dilihat oleh pengguna yang berbeza dalam forum. Artikel ini akan memperkenalkan secara terperinci tetapan kebenaran membaca forum Discuz dan cara mengkonfigurasinya secara fleksibel untuk keperluan yang berbeza. 1. Konsep asas kebenaran membaca Dalam forum Discuz, kebenaran membaca terutamanya termasuk konsep berikut yang perlu difahami: Keizinan membaca lalai: Lalai selepas pendaftaran pengguna baharu

See all articles