Interpreter for REST as any other Interpreter(like jdbc, hive etc)

2022-02-27 Thread Great Info
I have some back-end server which exposes its data over the REST API. I
need to provide a visualization for the response.
It may sound silly if I think about this feature in zeppelin but I would
like to know if there is something in zeppelin for REST.


Re: Interpreter for REST as any other Interpreter(like jdbc, hive etc)

2022-02-27 Thread Jeff Zhang
How about using python to these rest API and convert the data to pandas
dataframe and then visualize it via python viz libraries.

On Sun, Feb 27, 2022 at 6:14 PM Great Info  wrote:

> I have some back-end server which exposes its data over the REST API. I
> need to provide a visualization for the response.
> It may sound silly if I think about this feature in zeppelin but I would
> like to know if there is something in zeppelin for REST.
>


-- 
Best Regards

Jeff Zhang


Re: [VOTE] Release Apache Zeppelin 0.10.1 RC2

2022-02-27 Thread moon soo Lee
+1

On Thu, Feb 24, 2022 at 9:31 AM Prabhjyot Singh 
wrote:

> +1
>
> On Thu, Feb 24, 2022 at 1:58 PM Jeff Zhang  wrote:
>
>> Hi folks,
>>
>> I propose the following RC to be released for the Apache Zeppelin
>> 0.10.1 release.
>>
>>
>> The commit id is 1654ce3847f4ebce7b228f54671340569d25a32e :
>>
>> https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=commit;h=1654ce3847f4ebce7b228f54671340569d25a32e
>>
>>
>>
>> This corresponds to the tag: v0.10.1-rc2 :
>>
>> https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=shortlog;h=refs/tags/v0.10.1-rc2
>>
>> The release archives (tgz), signature, and checksums are here
>> https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-0.10.1-rc2/
>>
>> The release candidate consists of the following source distribution
>> archive
>> zeppelin-0.10.1.tgz
>>
>> In addition, the following supplementary binary distributions are provided
>> for user convenience at the same location
>> zeppelin-0.10.1-bin-all.tgz
>>
>>
>> The maven artifacts are here
>>
>> https://repository.apache.org/content/repositories/orgapachezeppelin-1323/org/apache/zeppelin/
>>
>> You can find the KEYS file here:
>> https://dist.apache.org/repos/dist/release/zeppelin/KEYS
>>
>> Release notes available at
>>
>> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316221&version=12350543
>>
>>
>> Vote will be open for next 72 hours (close at 12PM 26/Feb PDT).
>>
>> [ ] +1 approve
>> [ ] 0 no opinion
>>
>> [ ] -1 disapprove (and reason why)
>>
>>
>>
>> --
>> Best Regards
>>
>> Jeff Zhang
>>
>
>
> --
> Regards,
> Prabhjyot Singh
>


Re: [VOTE] Release Apache Zeppelin 0.10.1 RC2

2022-02-27 Thread Jeff Zhang
Here's my +1

On Mon, Feb 28, 2022 at 4:55 AM moon soo Lee  wrote:

> +1
>
> On Thu, Feb 24, 2022 at 9:31 AM Prabhjyot Singh 
> wrote:
>
> > +1
> >
> > On Thu, Feb 24, 2022 at 1:58 PM Jeff Zhang  wrote:
> >
> >> Hi folks,
> >>
> >> I propose the following RC to be released for the Apache Zeppelin
> >> 0.10.1 release.
> >>
> >>
> >> The commit id is 1654ce3847f4ebce7b228f54671340569d25a32e :
> >>
> >>
> https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=commit;h=1654ce3847f4ebce7b228f54671340569d25a32e
> >>
> >>
> >>
> >> This corresponds to the tag: v0.10.1-rc2 :
> >>
> >>
> https://git-wip-us.apache.org/repos/asf?p=zeppelin.git;a=shortlog;h=refs/tags/v0.10.1-rc2
> >>
> >> The release archives (tgz), signature, and checksums are here
> >> https://dist.apache.org/repos/dist/dev/zeppelin/zeppelin-0.10.1-rc2/
> >>
> >> The release candidate consists of the following source distribution
> >> archive
> >> zeppelin-0.10.1.tgz
> >>
> >> In addition, the following supplementary binary distributions are
> provided
> >> for user convenience at the same location
> >> zeppelin-0.10.1-bin-all.tgz
> >>
> >>
> >> The maven artifacts are here
> >>
> >>
> https://repository.apache.org/content/repositories/orgapachezeppelin-1323/org/apache/zeppelin/
> >>
> >> You can find the KEYS file here:
> >> https://dist.apache.org/repos/dist/release/zeppelin/KEYS
> >>
> >> Release notes available at
> >>
> >>
> https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12316221&version=12350543
> >>
> >>
> >> Vote will be open for next 72 hours (close at 12PM 26/Feb PDT).
> >>
> >> [ ] +1 approve
> >> [ ] 0 no opinion
> >>
> >> [ ] -1 disapprove (and reason why)
> >>
> >>
> >>
> >> --
> >> Best Regards
> >>
> >> Jeff Zhang
> >>
> >
> >
> > --
> > Regards,
> > Prabhjyot Singh
> >
>


-- 
Best Regards

Jeff Zhang


[RESULT] [VOTE] Release Apache Zeppelin 0.10.1 (RC2)

2022-02-27 Thread Jeff Zhang
Hi Folks,


The vote passes with 4 binding +1 votes, 1 non-binding +1 votes, and no +0
or -1 votes. Thanks for everyone who verified rc and voted.

+1: Amin Borjian Philipp Dallig* Prabhjyot Singh*moon soo Lee*
Jeff Zhang*


+0:

-1:

*binding

Vote thread: https://lists.apache.org/thread/cq47k5q2lgo8mo2rj3bddhwqk5z53mw6



-- 
Best Regards

Jeff Zhang


[GitHub] [zeppelin] zjffdu commented on a change in pull request #4299: [ZEPPELIN-5661] Support clone a specific revision of a note

2022-02-27 Thread GitBox


zjffdu commented on a change in pull request #4299:
URL: https://github.com/apache/zeppelin/pull/4299#discussion_r815612325



##
File path: docs/usage/rest_api/notebook.md
##
@@ -373,7 +373,10 @@ Notebooks REST API supports the following operations: 
List, Create, Get, Delete,
   
 
 ```json
-{"name": "name of new note"}
+{
+  "name": "name of new note",
+  "revisionId": "revisionId of note to be copied"

Review comment:
   Is the revisionId optional?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@zeppelin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [zeppelin] zjffdu commented on a change in pull request #4299: [ZEPPELIN-5661] Support clone a specific revision of a note

2022-02-27 Thread GitBox


zjffdu commented on a change in pull request #4299:
URL: https://github.com/apache/zeppelin/pull/4299#discussion_r815612325



##
File path: docs/usage/rest_api/notebook.md
##
@@ -373,7 +373,10 @@ Notebooks REST API supports the following operations: 
List, Create, Get, Delete,
   
 
 ```json
-{"name": "name of new note"}
+{
+  "name": "name of new note",
+  "revisionId": "revisionId of note to be copied"

Review comment:
   I think it is optional, the document should clarify that.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@zeppelin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [zeppelin] zjffdu commented on a change in pull request #4299: [ZEPPELIN-5661] Support clone a specific revision of a note

2022-02-27 Thread GitBox


zjffdu commented on a change in pull request #4299:
URL: https://github.com/apache/zeppelin/pull/4299#discussion_r815614064



##
File path: 
zeppelin-server/src/main/java/org/apache/zeppelin/service/NotebookService.java
##
@@ -317,15 +317,27 @@ public void renameNote(String noteId,
   }
 
   public String cloneNote(String noteId,
-String newNotePath,
-ServiceContext context,
-ServiceCallback callback) throws IOException {
+  String newNotePath,
+  ServiceContext context,
+  ServiceCallback callback) throws IOException {
+return cloneNote(noteId, "", newNotePath, context, callback);
+  }
+
+
+  public String cloneNote(String noteId,
+  String revisionId,
+  String newNotePath,
+  ServiceContext context,
+  ServiceCallback callback) throws IOException {
 //TODO(zjffdu) move these to Notebook
 if (StringUtils.isBlank(newNotePath)) {
   newNotePath = "/Cloned Note_" + noteId;
+  if(StringUtils.isNotEmpty(revisionId)) {
+newNotePath += "_" + revisionId.substring(0, 6);

Review comment:
   Why calling substring(0, 6)?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@zeppelin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [zeppelin] zjffdu commented on a change in pull request #4299: [ZEPPELIN-5661] Support clone a specific revision of a note

2022-02-27 Thread GitBox


zjffdu commented on a change in pull request #4299:
URL: https://github.com/apache/zeppelin/pull/4299#discussion_r815614695



##
File path: 
zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
##
@@ -693,39 +691,55 @@ public void testRunAllParagraph_FirstFailed() throws 
IOException {
 
   @Test
   public void testCloneNote() throws IOException {
-LOG.info("Running testCloneNote");
-String note1Id = null;
-String clonedNoteId = null;
-try {
-  note1Id = TestUtils.getInstance(Notebook.class).createNote("note1", 
anonymous);
-  CloseableHttpResponse post = httpPost("/notebook/" + note1Id, "");
-  String postResponse = EntityUtils.toString(post.getEntity(), 
StandardCharsets.UTF_8);
-  LOG.info("testCloneNote response\n" + postResponse);
-  assertThat(post, isAllowed());
-  Map resp = gson.fromJson(postResponse,
-  new TypeToken>() {}.getType());
-  clonedNoteId = (String) resp.get("body");
-  post.close();
-
-  CloseableHttpResponse get = httpGet("/notebook/" + clonedNoteId);
-  assertThat(get, isAllowed());
-  Map resp2 = 
gson.fromJson(EntityUtils.toString(get.getEntity(), StandardCharsets.UTF_8),
-  new TypeToken>() {}.getType());
-  Map resp2Body = (Map) resp2.get("body");
-
-  //assertEquals(resp2Body.get("name"), "Note " + clonedNoteId);
-  get.close();
-} finally {
-  // cleanup
-  if (null != note1Id) {
-TestUtils.getInstance(Notebook.class).removeNote(note1Id, anonymous);
-  }
-  if (null != clonedNoteId) {
-TestUtils.getInstance(Notebook.class).removeNote(clonedNoteId, 
anonymous);
+  LOG.info("Running testCloneNote");

Review comment:
   Indention issue




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@zeppelin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [zeppelin] zjffdu commented on a change in pull request #4299: [ZEPPELIN-5661] Support clone a specific revision of a note

2022-02-27 Thread GitBox


zjffdu commented on a change in pull request #4299:
URL: https://github.com/apache/zeppelin/pull/4299#discussion_r815616023



##
File path: 
zeppelin-server/src/test/java/org/apache/zeppelin/rest/NotebookRestApiTest.java
##
@@ -693,39 +691,55 @@ public void testRunAllParagraph_FirstFailed() throws 
IOException {
 
   @Test
   public void testCloneNote() throws IOException {
-LOG.info("Running testCloneNote");
-String note1Id = null;
-String clonedNoteId = null;
-try {
-  note1Id = TestUtils.getInstance(Notebook.class).createNote("note1", 
anonymous);
-  CloseableHttpResponse post = httpPost("/notebook/" + note1Id, "");
-  String postResponse = EntityUtils.toString(post.getEntity(), 
StandardCharsets.UTF_8);
-  LOG.info("testCloneNote response\n" + postResponse);
-  assertThat(post, isAllowed());
-  Map resp = gson.fromJson(postResponse,
-  new TypeToken>() {}.getType());
-  clonedNoteId = (String) resp.get("body");
-  post.close();
-
-  CloseableHttpResponse get = httpGet("/notebook/" + clonedNoteId);
-  assertThat(get, isAllowed());
-  Map resp2 = 
gson.fromJson(EntityUtils.toString(get.getEntity(), StandardCharsets.UTF_8),
-  new TypeToken>() {}.getType());
-  Map resp2Body = (Map) resp2.get("body");
-
-  //assertEquals(resp2Body.get("name"), "Note " + clonedNoteId);
-  get.close();
-} finally {
-  // cleanup
-  if (null != note1Id) {
-TestUtils.getInstance(Notebook.class).removeNote(note1Id, anonymous);
-  }
-  if (null != clonedNoteId) {
-TestUtils.getInstance(Notebook.class).removeNote(clonedNoteId, 
anonymous);
+  LOG.info("Running testCloneNote");
+  String note1Id = null;
+  List clonedNoteIds = new ArrayList<>();
+  try {
+  Notebook notebook = TestUtils.getInstance(Notebook.class);
+  note1Id = notebook.createNote("note1", anonymous);
+  NotebookRepoWithVersionControl.Revision first_commit =
+  notebook.processNote(note1Id, note ->
+  notebook.checkpointNote(note.getId(), 
note.getPath(), "first commit", anonymous));
+
+  // Clone a note
+  CloseableHttpResponse post1 = httpPost("/notebook/" + note1Id, "");
+  // Clone a revision of note
+  CloseableHttpResponse post2 =
+  httpPost("/notebook/" + note1Id, "{ revisionId: " + 
first_commit.id + "}" );
+
+  // Verify the responses
+  for (CloseableHttpResponse post: Arrays.asList(post1, post2)) {

Review comment:
   Should also verify whether the note is cloned correctly, e.g. if you 
clone a note with revisionId, is the content of the cloned note correct?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@zeppelin.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org