数据仓库目录规范

数据仓库目录规范

  • 1.数据仓库的根目录为/warehouse。除了数据仓库负责人,普通用户不能创建数据库,也不能在默认库中创建表.

    /warehouse的默认权限改为755,所有者是hadoop(或者数据仓库负责人),那么没有人能创建数据库,也不能在默认库中创建表.

    • 2.数据仓库负责人创建数据库之后,可以分配给项目组,该项目组可以在此数据库建立表.

    /warehouse/数据库.db的所有者改为项目组.

    • 3.数据仓库负责人创建数据库之后,不把创建表的权限分给项目组,而为其创建表,只允许项目组插入分区.

    数据仓库负责人继续保持/warehouse/数据库.db的权限,项目组不能建立表,数据仓库负责人为项目组创建表之后,把表所在的目录分给项目组.

    • 4.某些表只能本项目组读写和查看.

    /warehouse/数据库.db/表名所在的目录改为770 .

    • 5.某些表只能本项目组的特殊用户读写.

    /warehouse/数据库.db/表名所在的目录的所有者改为此用户,并且权限改为700 .

    • 6.项目组的表,需要其它组的特别用户插入数据.

    使用以下的命令可以user1对dntest.db的表testp1有写权限
    hdfs dfs -setfacl -m user:user1:rwx /warehouse/cdntest.db/testp1

    • 7.项目组的表,需要其它组的特别用户有读到数据的权限.

    hdfs dfs -setfacl -m user:user1:r-x /warehouse/cdntest.db/testp1

    • 8.项目组的表,需要其它组的所有用户有读到数据的权限.

    hdfs dfs -setfacl -m group:group1:r-x /warehouse/cdntest.db/testp1

    • 9.创建默认数据库,此数据库所有用户都有创建表的权限,但只保存30天.

    /warehouse/tmp.db的权限改为777,并且设置定时任务扫描该目录及hive数据库。如果有创建时间超过30天的表,删除表及所在目录。

非数据仓库外目录的存储规范

  • /data/目录下每个group一个目录,例group1有目录/data/group1,拥有者为group1:group1,权限为775,为该目录设置该group的磁盘限额。用户可以创建任意子目录。
  • 如果某些目录只允许本组人看,可以把目录设置为770.
  • 如果某些目录只允许一个人修改和查看,如user1,那么user1可以创建一个目录,然后把目录权限设置为700。
  • 如果某些目录默认不允许其它人查看,但是需要给特殊的用户或者组查看,可以用acl控制。参考上面数据仓库目录规范。
  • /data/tmp目录的权限是777,可用于任何用户存储临时文件,里面的文件30日后删除。

数据仓库及目录审计

数据仓库中有一些表,及非数据仓库中非常重要的数据,可以要求审计,审计是指对数据的任何操作都会记录,包括读数据。审计的数据量非常大。
审计的实现

在Namenode里有一个审计插件,开启之后,对任何数据的操作都会调用里面的方法。
在${HADOOP_HOME}/etc/hadoop下有一个文件存储所有需要监控的目录。如需要对一个表监控,则
在该类启动之后,应该启动一个Timer线程,此线程每分钟检测一下配置文件的最后修改日期,如果大于上次修改日期,则重新读取配置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值