Conversation
|
CLI fails for profiles 1.3, 1.2 and 1.1 with Profiles 1.4, 1.5 and 1.6 are green. |
|
Thanks for the contribution. I think And Most interpreters include at least one unittest or integration test. So I suggest have an test. I think R interpreter related source file need to be excluded for profile spark-1.3, spark-1.2, spark-1.1, so CI doesn't fail for those profiles. I think maven capable of doing it. |
|
I guess this isn't part of the 72-hour moratorium... Rscala Actually its not just that rscala can be downloaded at build time. It will be downloaded whenever the user updates their R package library. R data scientists users do quite regularly because the functionality is built into R. There is no way to prevent an updated rscala from being used in place of the rscala included with this code. (The issue is the R-side of the rscala library more than the java side, but that's beside the point.) This has already created breakages: The author of rscala recently fixed a bug that affected Windows users. The new version broke Eric's implementation, which had to be refactored. Licenses Regarding licenses --you are correct that rscala is available under BSD. I convinced the author to switch from GPL to BSD so it could be used in PR 208. Tests You are astute to require unit tests. The reason this code is passing CI is that it isn't being tested at all. Neither R, nor the classes here, are ever executed. Related to that: There's no code here to handle changes in the SparkInterpreter class, which has caused severe breakages in the spark-interpreter/R integration in the past. There's also no code in here to handle the common Zeppelin/Spark misconfigurations that are 99% of the user issues that arise when you add R to zeppelin; or to handle spark-related issues at all. One reason for this is, surely, because Eric only added the integration a few weeks ago, after I pointed-out on the mailing list that the functionality was absent. Since Eric based his code on mine (which he is absolutely entitled to do), I'm pretty sure it will start to have the same issues if it ever develops a user base. Other There are a slew of other issues here related to integration with the rest of Zeppelin, presentation of R in a manner that R-using data scientists will be familiar with, and allowing the full R functionality. As just one example: it doesn't support R base-plotting, and I'm pretty sure it won't support interactive visualizations either. I am not going to list all of those issues here now, when we're trying to resolve the issue of PR 208 -- which does handle all of them, and quite a few more. This is because I worked through them over the last six months in responding to requests and issues from users. (Just to be clear, this is @elbamos -- I've been switching from OS X to Ubuntu, and it looks like I logged in with the wrong e-mail address and a git account I made an eternity ago and never used.) |
@justsomeone1001
[1] http://mail-archives.apache.org/mod_mbox/incubator-zeppelin-dev/201512.mbox/%3C5683E471.9010001%40apache.org%3E Thx for your comments so far and looking what Travis will tell... |
|
@echarles It doesn't support base plotting. Do you have an example of code to show that it supports interactive visualizations? I believe it does not support them. Regarding @hsaputra 's comment -- I think your comment on 208, was that you felt the functionality that is in PR 208 but not in this PR, isn't necessary. |
|
@echarles @justsomeone1001 could you kindly clarify if native visualization refers to Zeppelin visualisations or R? Visualisation is most relevant around data exploration and analytics results sharing (where notebooks make most sense). I think for R and Python users it would be good to know which visualisation will work out-of-the-box. It could help to decide which tool / interpreter / language to use:
|
|
2 failures on last build: spark-1.5 ZeppelinIT.testAngularDisplay:151 » NoSuchElement Unable to locate element: {"... The good news is that the SparkR related build and test are ok for all profiles. |
|
@echarles @justsomeone1001 This PR supports ggplot2 and displaying R dataframe in native zeppelin widget ggplot2dataframe in native zeppelin widgetThe best would be to start a thread on the Zeppelin development list to talk about further development and requirement. |
|
@echarles You could simply have answered him "no, this PR doesn't support R visualizations." I am disinclined to start a thread. I feel like by pointing out the features that your implementation is missing but are present in mine, I'm just helping you compete. There isn't any benefit to the project from doing that, since what you've built is a subset of what's already in PR 208 and the revision on git. As you know, there's a moratorium on discussions about PR 208, which is what you based this one on. I, for one, am happy for the break. Perhaps you could consider respecting the moratorium for a few days? |
|
Moratorium on discussion about PR 208 is over (a day ago), and it was for only me and Amos. So anyone feel free to comment this PR. |
|
Last commit brings the ability to define the ggplot2 image size as asked on https://github.com/datalayer/zeppelin-R/issues/2 I have also added more samples on interactive visualization. |
|
Travis fails with Strangely, it was able to pass at least one time 2 days ago. |
|
Just tested, works great. |
|
@echarles I updated the R notebook tutorial with a minor improvement in this patch: I noticed passing variables between scala and R is working quite well. for example: |
|
@jeffsteinmetz thx, just pushed a change to show the unlist example. |
|
Appreciate @echarles for the R interpreter implementation and very open communication. I have tested and confirming Looks good to me. |
|
Looks great. Built the zeppelin distribution with Shipped the distribution .tar.gz to the clusters master, unzipped, then Worked as expected. Looks good to me. |
|
Merge into master if there're no more discussions |
|
@echarles rebase with master. |
|
Thx @prabhjyotsingh for the hint. I have merged and there is no more conflict. Travis failed for 1.1.1 profile (issue while downloading a jar), otherwise the other profiles are green. How can I retrigger the build without pushing nor closing/opening? |
|
Back to green after simple build retrigger. LGTM for merge. |
|
Looks like we are trying hit a moving target on master, specifcially with Is it possible for a committer to merge this soon after the branch conflicts are resolved (again) so that @echarles can take this off his plate? |
### What is this PR for? Improvement of Virtual Machine Script to support R interpretor ### What type of PR is it? Improvement of Virtual Machine Script to support R interpretor ### Todos * [x] - Test with #208 * [x] - Test with #702 ### Is there a relevant Jira issue? Zeppelin-700 ### How should this be tested? Follow the steps in this Read Me to build a VM from scratch: https://github.com/apache/incubator-zeppelin/blob/master/scripts/vagrant/zeppelin-dev/README.md ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? Added to all headers * Is there breaking changes for older versions? No * Does this needs documentation? Yes, this will be a separate PR to update docs and README Author: Jeff Steinmetz <[email protected]> Closes #751 from jeffsteinmetz/ZEPPELIN-700 and squashes the following commits: e03dba5 [Jeff Steinmetz] update to support R interpreter sparkr build profile a9a2052 [Jeff Steinmetz] add base64enc, repr and htmltools bdcdf5f [Jeff Steinmetz] removed packages not required for pr702. repr not needed - base64encode not needed - htmltools not needed d497994 [Jeff Steinmetz] fix so that devtools will install 5643fc6 [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. fb18a2b [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. ef8f638 [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter b940bcd [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter
### What is this PR for? Improvement of Virtual Machine Script to support R interpretor ### What type of PR is it? Improvement of Virtual Machine Script to support R interpretor ### Todos * [x] - Test with apache#208 * [x] - Test with apache#702 ### Is there a relevant Jira issue? Zeppelin-700 ### How should this be tested? Follow the steps in this Read Me to build a VM from scratch: https://github.com/apache/incubator-zeppelin/blob/master/scripts/vagrant/zeppelin-dev/README.md ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? Added to all headers * Is there breaking changes for older versions? No * Does this needs documentation? Yes, this will be a separate PR to update docs and README Author: Jeff Steinmetz <[email protected]> Closes apache#751 from jeffsteinmetz/ZEPPELIN-700 and squashes the following commits: e03dba5 [Jeff Steinmetz] update to support R interpreter sparkr build profile a9a2052 [Jeff Steinmetz] add base64enc, repr and htmltools bdcdf5f [Jeff Steinmetz] removed packages not required for pr702. repr not needed - base64encode not needed - htmltools not needed d497994 [Jeff Steinmetz] fix so that devtools will install 5643fc6 [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. fb18a2b [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. ef8f638 [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter b940bcd [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter
|
Back to green. Good to merge. |
|
@jeffsteinmetz thank you for a kind notice! I think it has been reviewed by PPMC already but I'll be glad to make a final pass today and post back the results. |
|
Looks great to me. Let's merge it in. |
### What is this PR for? Recently #208 and #702 are merged into master branch. They passed the CI test individually, but failing after both merged. * zeppelin-web build error ``` [ERROR] npm ERR! registry error parsing json [ERROR] npm http 200 https://registry.npmjs.org/bower/1.7.2 [ERROR] npm ERR! SyntaxError: Unexpected token � [ERROR] npm ERR! ������Y[o�6��+��6��u��lE��� [ERROR] npm ERR! �{h��C�ˑ�L�=RJ���o�9b�4����W4��["��wn�����E����2C�ϕn���U`���a� [ERROR] npm ERR! G�p^��$�e��Ley,��IU�"/K�,qr�[8�F���^���p�������Z�����=x?�}��{W�+���ܳЀ쵱���} ``` * 'SparkRInterpreter.java' and 'RRepl.java' uses the same interpreter name. 'spark.r'. That conflicts and make https://github.com/apache/incubator-zeppelin/blob/master/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java#L87 fails. * R.md and r.md both exists under same directory. That confuses git client. ### What type of PR is it? Hot Fix ### Todos * [x] - Merge R.md and r.md * [x] - Fix zeppelin-web build error * [x] - Change interpreter listing order ### What is the Jira issue? ### How should this be tested? ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: Lee moon soo <[email protected]> This patch had conflicts when merged, resolved by Committer: Lee moon soo <[email protected]> Closes #815 from Leemoonsoo/r_hotfix and squashes the following commits: eeb411e [Lee moon soo] Change interpreter listing order 9baf57b [Lee moon soo] Change node and npm version 6854ac7 [Lee moon soo] R.md -> r.md
### What is this PR for? Improvement of Virtual Machine Script to support R interpretor ### What type of PR is it? Improvement of Virtual Machine Script to support R interpretor ### Todos * [x] - Test with apache#208 * [x] - Test with apache#702 ### Is there a relevant Jira issue? Zeppelin-700 ### How should this be tested? Follow the steps in this Read Me to build a VM from scratch: https://github.com/apache/incubator-zeppelin/blob/master/scripts/vagrant/zeppelin-dev/README.md ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? Added to all headers * Is there breaking changes for older versions? No * Does this needs documentation? Yes, this will be a separate PR to update docs and README Author: Jeff Steinmetz <[email protected]> Closes apache#751 from jeffsteinmetz/ZEPPELIN-700 and squashes the following commits: e03dba5 [Jeff Steinmetz] update to support R interpreter sparkr build profile a9a2052 [Jeff Steinmetz] add base64enc, repr and htmltools bdcdf5f [Jeff Steinmetz] removed packages not required for pr702. repr not needed - base64encode not needed - htmltools not needed d497994 [Jeff Steinmetz] fix so that devtools will install 5643fc6 [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. fb18a2b [Jeff Steinmetz] plotting in r interpreter requires the repr package. install devtools package first so repr can be installed. ef8f638 [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter b940bcd [Jeff Steinmetz] ZEPPELIN-700. Add Ansible R role to Virtual Machine to support dependencies for the R Interpreter
### What is this PR for? Implement R and SpakR Intepreter as part of the Spark Interpreter Group. It also implements R and Scala binding (in both directions). ### What type of PR is it? [Feature] ### Todos * [ ] - Documentation * [ ] - Unit test (if relevant, as we depend on R being available on the host) * [ ] - Assess licensing (a priori ok as we don't delive anything out of ASL2, but we should corectly phrase the NOTICE as we depend on non-ASL2 comptabile licenses (R) to run the interpreter). ### Is there a relevant Jira issue? https://issues.apache.org/jira/browse/ZEPPELIN-156 SparkR support ### How should this be tested? You need R available on the host running the notebook. For Centos: yum install R R-devel For Ubuntu: apt-get install r-base r-cran-rserve Install additional R packages: ``` curl https://cran.r-project.org/src/contrib/Archive/rscala/rscala_1.0.6.tar.gz -o /tmp/rscala_1.0.6.tar.gz R CMD INSTALL /tmp/rscala_1.0.6.tar.gz R -e "install.packages('ggplot2', repos = 'http://cran.us.r-project.org')" R -e install.packages('knitr', repos = 'http://cran.us.r-project.org') ``` - Build + launch Zeppelin and test the R note. !!! you need rscala_1.0.6 (if not, you need to build with -Drscala.version=...) ### Screenshots (if appropriate) #### Simple R [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/simple-r.png) #### Plot [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/plot.png) #### Scala R Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/scala-r.png) #### R Scala Binding [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/r-scala.png) #### SparkR [](https://raw.githubusercontent.com/datalayer/zeppelin-R/rscala/_Rimg/sparkr.png) ### Questions: * Does the licenses files need update? to be checked... (cfr R needs to be available to make this interpreter operational). * Is there breaking changes for older versions? No * Does this needs documentation? Yes Author: Eric Charles <[email protected]> Author: Lee moon soo <[email protected]> This patch had conflicts when merged, resolved by Committer: Lee moon soo <[email protected]> Closes apache#702 from echarles/rscala-z and squashes the following commits: 137040c [Eric Charles] Trigger build again 53645f6 [Eric Charles] Trigger build 519f3a9 [Eric Charles] Add back the spark.bin.download.url property for sparkr profile d1f0521 [Eric Charles] Merge with master 72ab72c [Eric Charles] Trigger travis build 151af0a [Eric Charles] Enable back the R install in travis ed70820 [Eric Charles] Merge with master ae21036 [Eric Charles] Note: unlist array passed from scala to R, patch contributed by @jeffsteinmetz ac0e16d [Eric Charles] Merge pull request apache#8 from Leemoonsoo/rscala-z-fix-interpreter-list-order 90c1b4d [Lee moon soo] Sort interpreter list correctly c36fe8a [Eric Charles] Return SUCCESS if result is empty 463c066 [Eric Charles] Log exception on open f6e685a [Eric Charles] Remove SparkRInterpeterTest, test is convered in ZeppelinSparkClusterTest 19ec4f3 [Eric Charles] Add back SparkRInterpreterTest.java 58227e9 [Eric Charles] Merge branch 'rscala-z-rs' into rscala-z 290289f [Eric Charles] Merge with master eb6c40c [Eric Charles] Merge remote rscala-z-rs 962d0d9 [Eric Charles] DOC: Add more visualization libraries 9b95d60 [Lee moon soo] Remove unnecessary test 894c399 [Lee moon soo] Remove SparkRInterpreterTest bac1e1b [Lee moon soo] R on travis f6661c2 [Lee moon soo] fix profile activation 1a0195f [Lee moon soo] exclude test when sparkr profile is not defined 2307115 [Lee moon soo] Make sparkr work without SPARK_HOME dcfee32 [Lee moon soo] Add test aa35a83 [Lee moon soo] Download sparkR package 1d99fa8 [Lee moon soo] Remove rscala related stuff from project fc66da9 [Lee moon soo] R -> r a122894 [Lee moon soo] render output 9df9535 [Lee moon soo] Remove rscala dependency 1e2c99b [Eric Charles] DOC: no need for r-cran-rserve, thx to @jeffsteinmetz 2300ebc [Eric Charles] Update to latest change in interpeter constructs ecf8bc4 [Eric Charles] Merge with master a119b72 [Eric Charles] Merge with remote 454c1cb [Eric Charles] Rebase on master and update test to deal with interpretercontext constructor change b30f6f4 [Eric Charles] Support HTML, TABLE and IMG display - Dynamic form in progress 89d6a3a [Eric Charles] DOC: Fix typo (contributed by @AhyoungRyu) + fix missing depencies (contributed by @btiernay on https://github.com/datalayer/datalayer-zeppelin/issues/6) a6a3695 [Eric Charles] fix SparkInterpreterTest to deal with previous commit chanching the returned html 35486c7 [Eric Charles] Always return html preview in case of pure text a0306fc [Eric Charles] Fix the expected html value for test 47eec88 [Eric Charles] Fix code format to make checkstyle happy f963e1c [Eric Charles] polish examples with title 6cf8615 [Eric Charles] Make it work also on chromium 7b04b6b [Eric Charles] Support ggplot2 output size https://github.com/datalayer/zeppelin-R/issues/2 17d6b0d [Eric Charles] Less test in the SparkRInterpreterTest f4aac04 [Eric Charles] Add interactive visualization example 816f4d9 [Eric Charles] Run only one test method and see Travis reaction 702556f [Eric Charles] RAT: Disabel RAT check on downloaded rscala folder d5538a2 [Eric Charles] update pom to download rscala on build 40efe33 [Eric Charles] Add test for SparkRInterpreter 09bb458 [Eric Charles] Use java factory to allow mockito usage 5385adb [Eric Charles] Add jar in R folder c0063fc [Eric Charles] Ignore downloaded rscala 4d5cfa5 [Eric Charles] Initial documentation for R Interpreter 3e24d02 [Eric Charles] Add license for rscala c88a914 [Eric Charles] Remove rscala jar 554bcb6 [Eric Charles] Add README.md placeholder for rscala lib folder 40b4ec6 [Eric Charles] Remove png files and restore README.md 220fe51 [Eric Charles] Make rscala configurable in the spark-dependencies module 15375eb [Eric Charles] Add SparRInterpreter implementation 4161619 [Eric Charles] Support HTML, TABLE and IMG display - Dynamic form in progress 8e635e1 [Eric Charles] DOC: Fix typo (contributed by @AhyoungRyu) + fix missing depencies (contributed by @btiernay on https://github.com/datalayer/datalayer-zeppelin/issues/6) 9a988f9 [Eric Charles] fix SparkInterpreterTest to deal with previous commit chanching the returned html 28fc9b2 [Eric Charles] Always return html preview in case of pure text e8ed8dd [Eric Charles] Fix the expected html value for test facc682 [Eric Charles] Fix code format to make checkstyle happy 9b168ff [Eric Charles] polish examples with title 8b059c4 [Eric Charles] Make it work also on chromium 66c3545 [Eric Charles] Support ggplot2 output size https://github.com/datalayer/zeppelin-R/issues/2 3ae0bc1 [Eric Charles] Less test in the SparkRInterpreterTest b9b2787 [Eric Charles] Add interactive visualization example 9218d65 [Eric Charles] Run only one test method and see Travis reaction ee6e43b [Eric Charles] RAT: Disabel RAT check on downloaded rscala folder 8d664f6 [Eric Charles] update pom to download rscala on build 21668b3 [Eric Charles] Add test for SparkRInterpreter 068ac24 [Eric Charles] Use java factory to allow mockito usage caf157b [Eric Charles] Add jar in R folder 1eddadb [Eric Charles] Ignore downloaded rscala 0af2bec [Eric Charles] Initial documentation for R Interpreter 8e3c997 [Eric Charles] Add license for rscala 7a95ef4 [Eric Charles] Remove rscala jar b8ae4eb [Eric Charles] Add README.md placeholder for rscala lib folder aa6a7a1 [Eric Charles] Remove png files and restore README.md 9312a0c [Eric Charles] Make rscala configurable in the spark-dependencies module 363b244 [Eric Charles] Add SparRInterpreter implementation
### What is this PR for? Recently apache#208 and apache#702 are merged into master branch. They passed the CI test individually, but failing after both merged. * zeppelin-web build error ``` [ERROR] npm ERR! registry error parsing json [ERROR] npm http 200 https://registry.npmjs.org/bower/1.7.2 [ERROR] npm ERR! SyntaxError: Unexpected token � [ERROR] npm ERR! ������Y[o�6��+��6��u��lE��� [ERROR] npm ERR! �{h��C�ˑ�L�=RJ���o�9b�4����W4��["��wn�����E����2C�ϕn���U`���a� [ERROR] npm ERR! G�p^��$�e��Ley,��IU�"/K�,qr�[8�F���^���p�������Z�����=x?�}��{W�+���ܳЀ쵱���} ``` * 'SparkRInterpreter.java' and 'RRepl.java' uses the same interpreter name. 'spark.r'. That conflicts and make https://github.com/apache/incubator-zeppelin/blob/master/zeppelin-server/src/test/java/org/apache/zeppelin/rest/ZeppelinSparkClusterTest.java#L87 fails. * R.md and r.md both exists under same directory. That confuses git client. ### What type of PR is it? Hot Fix ### Todos * [x] - Merge R.md and r.md * [x] - Fix zeppelin-web build error * [x] - Change interpreter listing order ### What is the Jira issue? ### How should this be tested? ### Screenshots (if appropriate) ### Questions: * Does the licenses files need update? no * Is there breaking changes for older versions? no * Does this needs documentation? no Author: Lee moon soo <[email protected]> This patch had conflicts when merged, resolved by Committer: Lee moon soo <[email protected]> Closes apache#815 from Leemoonsoo/r_hotfix and squashes the following commits: eeb411e [Lee moon soo] Change interpreter listing order 9baf57b [Lee moon soo] Change node and npm version 6854ac7 [Lee moon soo] R.md -> r.md






What is this PR for?
Implement R and SpakR Intepreter as part of the Spark Interpreter Group. It also implements R and Scala binding (in both directions).
What type of PR is it?
[Feature]
Todos
Is there a relevant Jira issue?
https://issues.apache.org/jira/browse/ZEPPELIN-156 SparkR support
How should this be tested?
You need R available on the host running the notebook.
Install additional R packages:
!!! you need rscala_1.0.6 (if not, you need to build with -Drscala.version=...)
Screenshots (if appropriate)
Simple R
Plot
Scala R Binding
R Scala Binding
SparkR
Questions: