使用 power shell 或 windows 批处理文件的 Spark Shell 代码自动化
Spark Shell code automation using power shell or windows batch file
我有一个场景,我们将 apache spark 与 sql 服务器连接,将表的数据加载到 spark 中并从中生成 aparquet 文件。
这是我的代码片段:
val database = "testdb"
val jdbcDF = (spark.read.format("jdbc")
.option("url", "jdbc:sqlserver://DESKTOP-694SPLH:1433;integratedSecurity=true;databaseName="+database)
.option("dbtable", "employee")
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver")
.load())
jdbcDF.write.parquet("/tmp/output/people.parquet")
它在 spark shell 中运行良好,但我想在 Windows PowerShell 或 Windows 命令脚本 (批处理文件)中自动执行此操作,使其成为 SQL 服务器作业的一部分。
如果有任何建议或线索,我将不胜感激。
我已经能够自己完成了,我将列出任何人都可以从中获得帮助的步骤。
- 将您的代码 spark-shell 代码放入 scala 文件、程序或 scala 应用程序中。
- 使用具有 Spark 依赖项的 SBT 或 Maven 构建 spark scala 应用程序。
- 一旦您成功编译并运行您的 spark scala 应用程序。
- 将您的 Scala 应用打包或 Assemble 到一个 jar 文件中,Assembly 将生成一个 fat jar 文件,我使用的是 Assembly。
- 使用 spark-submit 在 windows 批处理文件中调用您的 Spark 应用程序的 jar 文件,这将自动执行您的 Spark 代码。
我有一个场景,我们将 apache spark 与 sql 服务器连接,将表的数据加载到 spark 中并从中生成 aparquet 文件。
这是我的代码片段:
val database = "testdb"
val jdbcDF = (spark.read.format("jdbc")
.option("url", "jdbc:sqlserver://DESKTOP-694SPLH:1433;integratedSecurity=true;databaseName="+database)
.option("dbtable", "employee")
.option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver")
.load())
jdbcDF.write.parquet("/tmp/output/people.parquet")
它在 spark shell 中运行良好,但我想在 Windows PowerShell 或 Windows 命令脚本 (批处理文件)中自动执行此操作,使其成为 SQL 服务器作业的一部分。
如果有任何建议或线索,我将不胜感激。
我已经能够自己完成了,我将列出任何人都可以从中获得帮助的步骤。
- 将您的代码 spark-shell 代码放入 scala 文件、程序或 scala 应用程序中。
- 使用具有 Spark 依赖项的 SBT 或 Maven 构建 spark scala 应用程序。
- 一旦您成功编译并运行您的 spark scala 应用程序。
- 将您的 Scala 应用打包或 Assemble 到一个 jar 文件中,Assembly 将生成一个 fat jar 文件,我使用的是 Assembly。
- 使用 spark-submit 在 windows 批处理文件中调用您的 Spark 应用程序的 jar 文件,这将自动执行您的 Spark 代码。