(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{144:function(e,t,a){"use strict";a.d(t,"a",(function(){return s})),a.d(t,"b",(function(){return j}));var n=a(0),r=a.n(n);function i(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function c(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?o(Object(a),!0).forEach((function(t){i(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):o(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function b(e,t){if(null==e)return{};var a,n,r=function(e,t){if(null==e)return{};var a,n,r={},i=Object.keys(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n<i.length;n++)a=i[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=r.a.createContext({}),p=function(e){var t=r.a.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):c(c({},t),e)),a},s=function(e){var t=p(e.components);return r.a.createElement(l.Provider,{value:t},e.children)},m={inlineCode:"code",wrapper:function(e){var t=e.children;return r.a.createElement(r.a.Fragment,{},t)}},u=r.a.forwardRef((function(e,t){var a=e.components,n=e.mdxType,i=e.originalType,o=e.parentName,l=b(e,["components","mdxType","originalType","parentName"]),s=p(a),u=n,j=s["".concat(o,".").concat(u)]||s[u]||m[u]||i;return a?r.a.createElement(j,c(c({ref:t},l),{},{components:a})):r.a.createElement(j,c({ref:t},l))}));function j(e,t){var a=arguments,n=t&&t.mdxType;if("string"==typeof e||n){var i=a.length,o=new Array(i);o[0]=u;var c={};for(var b in t)hasOwnProperty.call(t,b)&&(c[b]=t[b]);c.originalType=e,c.mdxType="string"==typeof e?e:n,o[1]=c;for(var l=2;l<i;l++)o[l]=a[l];return r.a.createElement.apply(null,o)}return r.a.createElement.apply(null,a)}u.displayName="MDXCreateElement"},161:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-8d6fed3c330676f04875f8afe44b59d7.png"},162:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step1-24bdac8d1ecdfeb14efeab0ba5019716.png"},163:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step2-template-bec4a76922361fa150df6bffceffbb15.png"},164:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step2-blank-8a6b9d97a33106329fbfe53920bc40c7.png"},165:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step2-upload-feb2db0271833adeb422990ca5aa43ba.png"},166:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step2-git-8431a483307851cd987d2a02264a8ee7.png"},167:function(e,t,a){"use strict";a.r(t),t.default=a.p+"assets/images/workspace-project-step3-34283e0a7051d38359a20311745f8aa6.png"},88:function(e,t,a){"use strict";a.r(t),a.d(t,"frontMatter",(function(){return o})),a.d(t,"metadata",(function(){return c})),a.d(t,"toc",(function(){return b})),a.d(t,"default",(function(){return p}));var n=a(3),r=a(7),i=(a(0),a(144)),o={},c={unversionedId:"adminDocs/yarn/workbench/README",id:"adminDocs/yarn/workbench/README",isDocsHomePage:!1,title:"README",description:"\x3c!--",source:"@site/docs/adminDocs/yarn/workbench/README.md",slug:"/adminDocs/yarn/workbench/README",permalink:"/docs/adminDocs/yarn/workbench/README",editUrl:"https://github.com/apache/submarine/edit/master/website/docs/adminDocs/yarn/workbench/README.md",version:"current"},b=[{value:"Register",id:"register",children:[]},{value:"Login",id:"login",children:[]},{value:"Home",id:"home",children:[]},{value:"Workspace",id:"workspace",children:[{value:"Project",id:"project",children:[]},{value:"Release",id:"release",children:[]},{value:"Training",id:"training",children:[]},{value:"Team",id:"team",children:[]},{value:"Shared",id:"shared",children:[]}]},{value:"Interpreters",id:"interpreters",children:[]},{value:"Job",id:"job",children:[]},{value:"Data",id:"data",children:[]},{value:"Model",id:"model",children:[]},{value:"Manager",id:"manager",children:[{value:"User",id:"user",children:[]},{value:"Team",id:"team-1",children:[]},{value:"Data Dict",id:"data-dict",children:[]},{value:"Department",id:"department",children:[]}]},{value:"How to run workbench",id:"how-to-run-workbench",children:[]}],l={toc:b};function p(e){var t=e.components,o=Object(r.a)(e,["components"]);return Object(i.b)("wrapper",Object(n.a)({},l,o,{components:t,mdxType:"MDXLayout"}),Object(i.b)("p",null,"English | ",Object(i.b)("a",{parentName:"p",href:"/docs/adminDocs/yarn/workbench/README.zh-CN"},"\u7b80\u4f53\u4e2d\u6587")),Object(i.b)("h1",{id:"submarine-workbench-introduction"},"Submarine Workbench Introduction"),Object(i.b)("p",null,"Submarine Workbench is a WEB system for data scientists.\nData scientists can interactively access notebooks, submit/manage jobs, manage models, create model training workflows, access data sets, and more through Submarine Workbench."),Object(i.b)("h2",{id:"register"},"Register"),Object(i.b)("p",null,"Everyone who needs to use Submarine for machine learning algorithm development can log in to Submarine Workbench's WEB homepage. On the homepage, click the registration link, fill in the user name, email address and password to register the user. At this time, the user status is ",Object(i.b)("inlineCode",{parentName:"p"},"waiting for approval")," status. "),Object(i.b)("p",null,"After receiving the registration request from the user in Submarine Workbench, the administrator sets the operation authority according to the user's needs, sets the user's organization and allocates resources, and sets the user status to ",Object(i.b)("inlineCode",{parentName:"p"},"pass the audit"),". The user can log in to the Submarine Workbench. Different users have different permission."),Object(i.b)("h2",{id:"login"},"Login"),Object(i.b)("p",null,"Each Submarine user logs in to the Home page of Submarine Workbench by entering their username and password on the Login page."),Object(i.b)("h2",{id:"home"},"Home"),Object(i.b)("p",null,"In the Submarine Workbench Home page, the top level shows the user's resource usage and task execution through four charts."),Object(i.b)("p",null,"In the ",Object(i.b)("inlineCode",{parentName:"p"},"Quick Start")," list, the most commonly used feature links in the Workbench are displayed so that users can work quickly."),Object(i.b)("p",null,"In the ",Object(i.b)("inlineCode",{parentName:"p"},"Open Recent")," list, there are nine items that the user has used recently, so you can work quickly."),Object(i.b)("p",null,"At ",Object(i.b)("inlineCode",{parentName:"p"},"What's New?")," In the list, some of the latest features and project information released by Submarine are displayed to help you understand the latest developments in the Submarine project."),Object(i.b)("h2",{id:"workspace"},"Workspace"),Object(i.b)("p",null,"Workspace consists primarily of five tab pages, with the total number of items in each tab page's title."),Object(i.b)("h3",{id:"project"},"Project"),Object(i.b)("p",null,"In the Project page, all the projects created by the user themselves are displayed as cards."),Object(i.b)("p",null,Object(i.b)("img",{alt:"image-20191007161424534",src:a(161).default})),Object(i.b)("p",null,"Each Project card consists of the following sections:"),Object(i.b)("ol",null,Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Project Type"),"\uff1aSubmarine currently supports six types of machine learning algorithm frameworks and development languages: ",Object(i.b)("inlineCode",{parentName:"li"},"Notebook"),", ",Object(i.b)("inlineCode",{parentName:"li"},"Python"),", ",Object(i.b)("inlineCode",{parentName:"li"},"R"),", ",Object(i.b)("inlineCode",{parentName:"li"},"Scala"),", ",Object(i.b)("inlineCode",{parentName:"li"},"Tensorflow"),", and ",Object(i.b)("inlineCode",{parentName:"li"},"PyTorch"),", which are identified by corresponding icons in the project card."),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Project Tags"),"\uff1aUsers can tag each Project with different tags for easy searching and management."),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Github/Gitlab integrated"),"\uff1aSubmarine Workbench is system integrated with ",Object(i.b)("inlineCode",{parentName:"li"},"Github"),"/",Object(i.b)("inlineCode",{parentName:"li"},"Gitlab"),", and each Project can perform ",Object(i.b)("inlineCode",{parentName:"li"},"Watch"),", ",Object(i.b)("inlineCode",{parentName:"li"},"Star"),", ",Object(i.b)("inlineCode",{parentName:"li"},"Fork"),", and ",Object(i.b)("inlineCode",{parentName:"li"},"Comment "),"operations in Workbench.",Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Watch"),"\uff1a","[TODO]"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Star"),"\uff1a","[TODO]"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Fork"),"\uff1a","[TODO]"),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Comment"),"\uff1aUsers can comment on the project."))),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Edit"),"\uff1aUsers can open projects in ",Object(i.b)("strong",{parentName:"li"},"Notebook")," and perform algorithm development by double-clicking on the project or by clicking the ",Object(i.b)("strong",{parentName:"li"},"Edit")," button."),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Download"),"\uff1aThe user downloads the project package locally by clicking the ",Object(i.b)("strong",{parentName:"li"},"Download")," button."),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Setting"),"\uff1aEdit project information such as project name, profile, visibility level and permissions."),Object(i.b)("li",{parentName:"ol"},Object(i.b)("strong",{parentName:"li"},"Delete"),"\uff1aDelete the project and all included files. ")),Object(i.b)("h4",{id:"add-new-project"},"Add New Project"),Object(i.b)("p",null,"Clicking the ",Object(i.b)("strong",{parentName:"p"},"Add New Project")," button on the project page will display the guide page for creating the project, and you can create a new project in just three steps."),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Step 1"),": Fill in the project name and project description in the ",Object(i.b)("strong",{parentName:"p"},"Base Information")," step."),Object(i.b)("p",null,Object(i.b)("img",{alt:"image-20191007171638338",src:a(162).default})),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Visibility"),": Set the visibility level of the item externally"),Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Private"),": (Default) Set to private project, and all the files included in the project are not publicly displayed. but the execution result of the project can be individually set and exposed in Notebook, so that others can view the visual report of the project."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Team"),": Set to team project, select the team name in the team selection box, and other members of the team can access the project according to the set permissions."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Public"),": Set to public project, all users in Workbench can view this project through search."))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Permission"),": Set the external access rights of the project. The permission setting interface will appear only when the ",Object(i.b)("strong",{parentName:"p"},"Visibility")," of the project is set to ",Object(i.b)("strong",{parentName:"p"},"Team")," or ",Object(i.b)("strong",{parentName:"p"},"Public"),"."),Object(i.b)("ul",{parentName:"li"},Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Can View")),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Team"),", other members of the team can ",Object(i.b)("strong",{parentName:"p"},"only view")," the files for this project."),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Public"),", other members of the Workbench can ",Object(i.b)("strong",{parentName:"p"},"only view")," the files for this project.")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Can Edit")),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Team"),", other members of the team can ",Object(i.b)("strong",{parentName:"p"},"view")," and ",Object(i.b)("strong",{parentName:"p"},"edit")," the files for this project."),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Public"),", other members of the Workbench can ",Object(i.b)("strong",{parentName:"p"},"view")," and ",Object(i.b)("strong",{parentName:"p"},"edit")," the files for this project.")),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Can Execute")),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Team"),", other members of the team can ",Object(i.b)("strong",{parentName:"p"},"view"),", ",Object(i.b)("strong",{parentName:"p"},"edit"),", and ",Object(i.b)("strong",{parentName:"p"},"execute")," the project's files."),Object(i.b)("p",{parentName:"li"},"When the project's ",Object(i.b)("strong",{parentName:"p"},"Visibility")," is set to ",Object(i.b)("strong",{parentName:"p"},"Public"),", other members of the Workbench can ",Object(i.b)("strong",{parentName:"p"},"view"),", ",Object(i.b)("strong",{parentName:"p"},"edit"),", and ",Object(i.b)("strong",{parentName:"p"},"execute")," the project's files."))))),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Step 2"),": In the Initial Project step, Workbench provides four ways to initialize the project."),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Template"),": Workbench Project templates with several different development languages and algorithm frameworks are built in. You can choose any template to initialize your project and you can execute it directly in Notebook without any modification. It is especially suitable for novices to experience quickly."),Object(i.b)("p",{parentName:"li"},Object(i.b)("img",{alt:"image-20191007184749193",src:a(163).default}))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Blank"),"\uff1aCreate a blank project, and later we can manually add the project's file in Notebook"),Object(i.b)("p",{parentName:"li"},Object(i.b)("img",{alt:"image-20191007184811389",src:a(164).default}))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Upload"),": Initialize your project by uploading a file in notebook format that is compatible with the ",Object(i.b)("strong",{parentName:"p"},"Jupyter Notebook")," and ",Object(i.b)("strong",{parentName:"p"},"Zeppelin Notebook")," file formats."),Object(i.b)("p",{parentName:"li"},Object(i.b)("img",{alt:"image-20191007184825531",src:a(165).default}))),Object(i.b)("li",{parentName:"ul"},Object(i.b)("p",{parentName:"li"},Object(i.b)("strong",{parentName:"p"},"Git Repo"),": Fork a file in the repository to initialize the project in your ",Object(i.b)("strong",{parentName:"p"},"Github"),"/",Object(i.b)("strong",{parentName:"p"},"Gitlab")," account."),Object(i.b)("p",{parentName:"li"},Object(i.b)("img",{alt:"image-20191007184840989",src:a(166).default})))),Object(i.b)("p",null,Object(i.b)("strong",{parentName:"p"},"Step 3"),"\uff1aPreview the included files in the project"),Object(i.b)("p",null,Object(i.b)("img",{alt:"image-20191007191205660",src:a(167).default})),Object(i.b)("ul",null,Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Save"),": Save the project to Workspace."),Object(i.b)("li",{parentName:"ul"},Object(i.b)("strong",{parentName:"li"},"Open In Notebook"),": Save the project to Workspace and open the project with Notebook.")),Object(i.b)("h3",{id:"release"},"Release"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"training"},"Training"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"team"},"Team"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"shared"},"Shared"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"interpreters"},"Interpreters"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"job"},"Job"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"data"},"Data"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"model"},"Model"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"manager"},"Manager"),Object(i.b)("h3",{id:"user"},"User"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"team-1"},"Team"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"data-dict"},"Data Dict"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h3",{id:"department"},"Department"),Object(i.b)("p",null,"[TODO]"),Object(i.b)("h2",{id:"how-to-run-workbench"},"How to run workbench"),Object(i.b)("p",null,Object(i.b)("a",{parentName:"p",href:"/docs/adminDocs/yarn/workbench/HowToRun"},"How To Run Submarine Workbench Guide")))}p.isMDXComponent=!0}}]);