我们正在建立新的项目级别代码目录,该目录将托管用于不同子项目的PySpark,hive,Sqoop和shell wrapper脚本。我们需要考虑长期目标来规划代码目录的结构。
目前,我的结构类似于-
Conf/
Scirpts/
- hql
- shell
- pyspark
...
但是,由于多个子项目开始具有代码,太多的文件,太多的管理和搜索难度,上述结构变得混乱。
有人可以根据过去的经验提出什么理想的方法或更好的方法来安排代码目录?
答案 0 :(得分:1)
鉴于代码通常是从边缘节点提交的,我建议限制对某些用户的SSH访问,然后将HDFS至少划分为用户帐户... HDFS已经有一个/user
目录,因此从那里开始。
Hortonworks至少将Hive的公用文件放在/apps/hive/
中,将Spark的公用文件放在/apps/spark
中,因此共享库有一个着陆点。
如果您的项目特定文件不能放置在单个目录中,并且需要比用户目录更细粒度的ACL,那么/projects
或仅位于HDFS根目录中的全新文件夹都可以。
OCD划分完全隔离的项目的方法是设置HDFS Federation and Namespaces,在该位置您将为公司内的每个主要计划拥有一个NameNode。