Details
-
Umbrella
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
The example code in the user guide is embedded in the markdown and hence it is not easy to test. It would be nice to automatically test them. This JIRA is to discuss options to automate example code testing and see what we can do in Spark 1.6.
One option I propose is to move actual example code to spark/examples and test compilation in Jenkins builds. Then in the markdown, we can reference part of the code to show in the user guide. This requires adding a Jekyll tag that is similar to https://github.com/jekyll/jekyll/blob/master/lib/jekyll/tags/include.rb, e.g., called include_example.
{% include_example scala/org/apache/spark/examples/ml/KMeansExample.scala %}
Jekyll will find `examples/src/main/scala/org/apache/spark/examples/ml/KMeansExample.scala` and pick code blocks marked "example" and put them under `
{% highlight %}` in the markdown. We can discuss the syntax for marker comments.
Sub-tasks are created to move example code from user guide to `examples/`.
self-check list for contributors in this JIRA
- Be sure to match Scala/Java/Python code style guide. If unsure of a code style, please refer to other merged example code under examples/.
- Remove useless imports
- It's better to have a side-effect operation at the end of each example code, usually it's a
print(...)
- Make sure the code example is runnable without error.
- After finishing code migration, use
cd docs; SKIP_API=1 jekyll serve
the check the webpage at http://127.0.0.1:4000 to see whether the generated html looks good.
Attachments
Issue Links
- is depended upon by
-
SPARK-11747 Can not specify input path in python logistic_regression example under ml
- Resolved
- relates to
-
SPARK-7924 Consolidate example code in MLlib
- Resolved