斯帕克扁平化的数据帧
开始使用Spark我想知道如何flatmap或explode dataFrame. 它是使用df.groupBy("columName").count创建的,如果我收集它,则具有以下结构: [[Key1, count], [Key2, count2]] ,但我宁愿拥有 之类的东西 Map(bar -> 1, foo -> 1, awesome -> 1) 实现这样的事情的正确工具是什么? flatmap,爆炸或其他东西? 上下文:我想使用Spark-Jobserver.如果我在后者forml 中提供数据,它似乎仅提供有意义的结果(例如一个工作的JSON序列化) 解决方案 我假设您在数据框架上打电话collect或collectAsList?那将返回Array[Row]/List[Row]. 如果是这样 - 将它们转换为地图的最简单方法是使用底层RDD,将其rodrods映射到钥匙值元组中,并使用collectAsMap: def cou
0 2024-03-01
编程技术问答社区
在Spark SQL作业中,Spark作业服务器出现错误 "此背景下的作业类型无效"。
我使用Spark Job Server创建了Spark SQL作业,并在以下示例之后使用HiveContext: 我能够启动服务器,但是当我运行应用程序时(我的Scala类 扩展了Sparksqljob),我将以下内容作为响应: { "status": "ERROR", "result": "Invalid job type for this context" } 任何人都可以暗示我出了什么问题或提供详细的程序 用于设置SparkSQL的求职者? 代码如下: import com.typesafe.config.{Config, ConfigFactory} import org.apache.spark._ import org.apache.spark.sql.hive.HiveContext import spark.jobserver.{SparkJobValid, SparkJobValidation, SparkHiveJob} obj
0 2024-03-01
编程技术问答社区
DSE 4.6到DSE 4.7 找不到Spark组件
我在升级DSE 4.6至4.7后,Job-Server-0.5.0有问题.如果我运行server_start.sh,我将获得错误 "无法在/usr/share/dse/spark/assembly/target/scala-2.10中找到火花组件 您需要在运行此程序之前构建Spark." 我在/usr/share/dse/spark/bin/compute-classpath.sh 中找到了 此代码提出错误 for f in ${assembly_folder}/spark-assembly*hadoop*.jar; do if [[ ! -e "$f" ]]; then echo "Failed to find Spark assembly in $assembly_folder" 1>&2 echo "You need to build Spark before running this program." 1>&2 exit 1 fi
0 2024-02-29
编程技术问答社区
Apache spark rest API
我正在使用log4j属性的spark-submit命令来调用这样的spark-submit: /opt/spark-1.6.2-bin-hadoop2.6/bin/spark-submit \ --driver-java-options \ "-Dlog4j.configuration=file:/home/test_api/log4j-driver.properties\ --class Test testing.jar 我该怎么做--driver-java-options,通过curl(Apache Spark的隐藏REST API)提交作业? 我尝试了: curl -X POST http://host-ip:6066/v1/submissions/create --header "Content-Type:application/json;charset=UTF-8" --data '{ "action" : "CreateSubmissionRequest
0 2024-02-29
编程技术问答社区
在Java中从另一个应用程序部署Apache Spark应用程序,最佳实践
我是Spark的新用户.我有一个Web服务,允许用户通过从数据库中读取并将结果推回数据库来请求服务器执行复杂的数据分析.我已经将这些分析转移到了各种火花应用中.目前,我使用Spark-Submit部署这些应用程序. 但是,我很好奇,当我的Web服务器(用Java编写)收到用户请求时,什么是启动相应Spark应用程序的"最佳实践"方法? Spark的文档似乎是使用" Spark-Submit",但我宁愿不将命令输出到终端以执行此操作.我看到了一个替代性的Spark-Jobserver,它提供了一个重新操作的界面,但是我的Spark应用程序是用Java或R编写的,它似乎与Spark-Jobserver互动不太吻合. . 是否还有另一个最佳实践可以从Web服务器(在Java中)启动Spark应用程序,并等待状态结果,无论工作是否成功还是失败? 关于其他人为实现这一目标的任何想法都将非常有帮助!谢谢! 解决方案 我有类似的要求.这是我所做的: 要提交应用程序,我
0 2024-02-29
编程技术问答社区
在Java中从另一个应用程序部署Apache Spark应用程序,最佳实践
我是Spark的新用户.我有一个Web服务,允许用户通过从数据库中读取并将结果推回数据库来请求服务器执行复杂的数据分析.我已经将这些分析转移到了各种火花应用中.目前,我使用Spark-Submit部署这些应用程序. 但是,我很好奇,当我的Web服务器(用Java编写)收到用户请求时,什么是启动相应Spark应用程序的"最佳实践"方法? Spark的文档似乎是使用" Spark-Submit",但我宁愿不将命令输出到终端以执行此操作.我看到了一个替代性的Spark-Jobserver,它提供了一个重新操作的界面,但是我的Spark应用程序是用Java或R编写的,它似乎与Spark-Jobserver互动不太吻合. . 是否还有另一个最佳实践可以从Web服务器(在Java中)启动Spark应用程序,并等待状态结果,无论工作是否成功还是失败? 关于其他人为实现这一目标的任何想法都将非常有帮助!谢谢! 解决方案 我有类似的要求.这是我所做的: 要提交应用程序,我
4 2023-11-30
编程技术问答社区
Spark jobServer不启动
当我尝试实例化火花jobserver时,我刚刚遇到了奇怪的问题. 似乎它看起来是一个错误的目录.有人知道这件事吗?也许我缺少一些东西,但目录/usr/share/dse/bin/dse完全不存在!. -bash-4.2 $ DSE Spark-Jobserver启动 /usr/share/dse/spark/spark-jobserver/server_start.sh:第82行:/usr/share/dse/bin/dse:没有这样的文件或目录 -bash-4.2 $ DSE 4.8.2, OS:CentOS 7 欢呼 解决方案 这是一个已知的错误,并在下一个版本的DSE中修复(您将在发行说明中看到DSP-7052). 我相信您有一个包安装,并且您的dse二进制文件位于/usr/bin中.请将Line 82更改为server_start.sh至/usr/bin/dse.抱歉给您带来的不便. 更新: 这是在最新版本的DSE 中修复
516 2022-07-19
编程技术问答社区
使用SBT和Scala构建spark | jobserver
任何人都可以建议我有关Spark-Jobserver的更好的文档.我已经通过了URL spark-tabserver 但无法遵循相同的.如果有人解释一步一步说明如何使用Spark-Jobserver,那将是很棒的. 用于构建项目的工具. SBT启动器版本0.13.5 Scala Code Runner版本2.11.6 与上面提到的工具,我在构建Spark-Jobserver时获得错误. 解决方案 以下是我用于安装的步骤: 克隆jobserver repo. 使用wget https://dl.bintray.com/sbt/native-packages/sbt/0.13.8/sbt-0.13.8.tgz 获取SBT 在SBT/BIN中移动"SBT-Launch.jar"到/Bin 创建一个脚本/bin/sbt,内容找到这里,如果需要,确保将指针更改为Java 使上面的脚本可执行 现在CD进入Spark Jobserver目录,并运行sbt pub
878 2022-07-19
编程技术问答社区
在apache job |服务器上运行我的SparkJob
我有apache作业服务器和my .jar的问题. 我有带有dataStax的VirtualBox.有cassandra和火花.我从 git作业 - 服务器,安装Apache作业 - 服务器.我想要运行示例,所以我从终端sbt re-start 写下sbt job-server-tests/package和下一个运行作业服务器 作业服务器工作的示例 curl --data-binary @/home/job-server/job-server-tests/target/job.jar localhost:8090/jars/test curl -d "" 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.LongPiJob' 问题是我制作我的.jar 我使用scala IDE在Windows上使用Eclipse.我安装了stbeclipse插件,我用scala项目制作了文件夹C:\Users\user
1408 2022-07-19
编程技术问答社区