Skip to content

Commit c92533b

Browse files
committed
Avoid initialize SparkSession but only JVM
1 parent b95be04 commit c92533b

File tree

3 files changed

+10
-43
lines changed

3 files changed

+10
-43
lines changed

sql/create-docs.sh

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -42,15 +42,11 @@ fi
4242

4343
# Now create markdown file
4444
rm -fr docs
45-
rm -rf "$WAREHOUSE_DIR"
4645
mkdir docs
4746
echo "Generating markdown files for SQL documentation."
48-
"$SPARK_HOME/bin/spark-submit" \
49-
--driver-java-options "-Dlog4j.configuration=file:$FWDIR/log4j.properties" \
50-
--conf spark.sql.warehouse.dir="$WAREHOUSE_DIR" \
51-
gen-sql-markdown.py
52-
rm -rf "$WAREHOUSE_DIR"
47+
"$SPARK_HOME/bin/spark-submit" gen-sql-markdown.py
5348

5449
# Now create HTML files
5550
echo "Generating HTML files for SQL documentation."
5651
mkdocs build --clean
52+
rm -fr docs

sql/gen-sql-markdown.py

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,16 @@
1919
import os
2020
from collections import namedtuple
2121

22-
from pyspark.sql import SparkSession
23-
2422
ExpressionInfo = namedtuple("ExpressionInfo", "className usage name extended")
2523

2624

27-
def _list_function_infos(spark):
25+
def _list_function_infos(jvm):
2826
"""
2927
Returns a list of function information via JVM. Sorts wrapped expression infos by name
3028
and returns them.
3129
"""
3230

33-
jinfos = spark.sparkContext._jvm \
34-
.org.apache.spark.sql.api.python.PythonSQLUtils.listBuiltinFunctionInfos()
31+
jinfos = jvm.org.apache.spark.sql.api.python.PythonSQLUtils.listBuiltinFunctionInfos()
3532
infos = []
3633
for jinfo in jinfos:
3734
name = jinfo.getName()
@@ -69,14 +66,14 @@ def _make_pretty_extended(extended):
6966
return "```%s```\n\n" % extended
7067

7168

72-
def generate_sql_markdown(spark, path):
69+
def generate_sql_markdown(jvm, path):
7370
"""
7471
Generates a markdown file after listing the function information. The output file
7572
is created in `path`.
7673
"""
7774

7875
with open(path, 'w') as mdfile:
79-
for info in _list_function_infos(spark):
76+
for info in _list_function_infos(jvm):
8077
mdfile.write("### %s\n\n" % info.name)
8178
usage = _make_pretty_usage(info.usage)
8279
extended = _make_pretty_extended(info.extended)
@@ -87,10 +84,8 @@ def generate_sql_markdown(spark, path):
8784

8885

8986
if __name__ == "__main__":
90-
spark = SparkSession \
91-
.builder \
92-
.appName("GenSQLDocs") \
93-
.getOrCreate()
87+
from pyspark.java_gateway import launch_gateway
88+
89+
jvm = launch_gateway().jvm
9490
markdown_file_path = "%s/docs/index.md" % os.path.dirname(sys.argv[0])
95-
generate_sql_markdown(spark, markdown_file_path)
96-
spark.stop()
91+
generate_sql_markdown(jvm, markdown_file_path)

sql/log4j.properties

Lines changed: 0 additions & 24 deletions
This file was deleted.

0 commit comments

Comments
 (0)