<div dir="ltr"><div><div>Hi guys!<br><br>Yesterday we discussed the problem about additional resources. Our decision was to use the following structure of JobOrigin:<br>{<br>"name":"j_o",<br>"url":"savanna://3bfae02a-87fb-4f5e-bee5-baa135ff4be0"<br>
"libs":[swift://example.savanna/lib1.jar, hdfs://user/hadoop/lib2.jar]<br>}<br><br>But today I realized that we still need to determine credentials in this case. So I decided to refuse from different prefixes. After that it looks like:<br>
<br>{<br>"name":"j_o",<br>"url":"swift://example.savanna/job.jar"<br>"libs":[swift://example.savanna/lib1.jar, swift://example.savanna/lib2.jar]<br>credentials:{<br>"user":"admin",<br>
"password":"abacaba"<br>}<br>}<br><br>Ok. But after a lunch I understood that we need the names to store files to cluster-hdfs:  in pig scripts user may use REGISTER blablabla.jar. <br>If we use internal storage we can fetch the name from JobBinary. But what if it's a swift? My thirst thought was to cut off the name from url. But it looks like a hack.<br>
I considered the idea of generating senseless names by Savanna. But it is a strange way to use random string without .jar or .pig extension.<br><br>So… What do you think about an idea to create "DataSource" for job binaries?  We may use even the same model object, only need to rename it. <br>
Result:<br>for job.jar:<br>{<br>    "name": "job.jar",<br>    "description": "jab file",<br>    "type": "swift",<br>  "url": "swift://integration.savanna/input",<br>
    "credentials": {<br>        "user": "admin",<br>        "password": "abacaba"<br>    }<br>}<br><br>for lib1.jar:<br>{<br>    "name": "lib.jar",<br>
    "description": "lib which contains …..",<br>    "type": "internal",<br>  "url": "savanna-db://3bfae02a-87fb-4f5e-bee5-baa135ff4be0"<br>}<br><br>for lib2.jar:<br>
{<br>    "name": "lib2.jar",<br>    "description": "lib which contains …..",<br>    "type": "hdfs",<br>  "url": "hdfs://user/hadoop/lib2.jar",<br>
    "credentials": {<br>        "user": "admin",<br>        "password": "abacaba"<br>    }<br>}<br><br>JobOrigin and "JobSource" have many=many relation because we may allow user to use a lib for different jobs. <br>
I need your comments!<br><br></div>Thanks,<br></div>Nadya<br><div><div><br><br></div></div></div>