当Windows里运行spark程序长时间不报错也不出结果(将scala程序打包放在虚拟机里运行)...

日新计划第二天.

当Windows里运行spark程序长时间不报错也不出结果

Windows内存不足也可能导致Spark程序长时间没有报错也没有输出结果的情况。Spark在处理大规模数据时需要大量的内存,如果可用内存不足,可能会导致程序运行缓慢或无法完成任务。 要确认内存是否是问题所在,可以执行以下操作:

  1. 检查内存使用情况:打开Windows任务管理器,切换到"性能"选项卡,查看"内存"部分。观察可用内存和已使用内存的情况。如果可用内存非常低或接近耗尽,那么内存可能是问题所在。
  2. 调整Spark内存配置:在Spark应用程序中,您可以通过调整内存相关的配置参数来优化内存使用。例如,executor.memory参数控制每个执行器的内存分配,spark.driver.memory参数控制驱动程序的内存分配等。根据实际情况,适当增加内存分配可能有助于提高Spark程序的性能和稳定性。
  3. 增加系统内存:如果计算机内存确实不足,考虑增加系统内存。这可以通过添加更多的物理内存条或升级计算机的内存来实现。增加内存能够提供更大的工作空间,使Spark能够更有效地处理大规模数据。

或者将scala程序打包放在虚拟机里运行.

虚拟机里的虚拟内存通常可以超过本机的物理内存。虚拟内存是指虚拟机操作系统将硬盘空间用作扩展内存的一种机制。当虚拟机的物理内存不足时,操作系统可以将一部分内存中不常用的数据写入到硬盘上的虚拟内存中,从而释放物理内存供其他程序使用。

虚拟内存的大小可以根据虚拟机的配置进行设置,一般可以设置为大于物理内存的值。这使得虚拟机可以在物理内存不足的情况下仍然能够执行更多的任务,但这也可能导致性能下降,因为虚拟内存访问速度相对较慢。

值得注意的是,尽管虚拟机可以使用比物理内存更大的虚拟内存空间,但这并不意味着虚拟机可以在没有任何限制的情况下使用无限制的内存。虚拟内存的总大小仍然受限于宿主机的硬盘空间和虚拟机配置的限制。此外,过度使用虚拟内存可能会导致虚拟机性能下降,因为磁盘访问速度相对较慢。 正文: 近年来,Apache Spark已成为大数据处理和分析的主要工具之一。它提供了一个强大的分布式计算框架,支持多种编程语言,包括Scala。本指南将向您展示如何将Scala程序打包成可在Spark虚拟机中运行的JAR文件。

步骤一:构建Scala项目

首先,确保您的Scala程序是一个独立的项目,并且具有正确的依赖项管理。您可以使用构建工具如sbt(Scala Build Tool)或Maven来管理项目依赖关系。创建一个新的Scala项目,然后在项目配置文件中添加所需的依赖项。

步骤二:添加Spark依赖项

在构建配置文件(例如build.sbt或pom.xml)中添加Spark依赖项,以便能够在Spark集群中运行您的应用程序。根据您使用的构建工具和Spark版本,您可以在Spark官方文档中找到相应的依赖项信息。确保在配置文件中包含所有必要的Spark库和依赖项。

步骤三:编译项目

image.png

image.png

image.png

image.png

image.png

步骤四:上传JAR文件到Spark虚拟机

将生成的JAR文件上传到运行Spark的虚拟机或集群中。您可以使用scp或其他文件传输工具将JAR文件复制到目标机器上。确保将JAR文件放在可被Spark虚拟机访问的位置。

步骤五:启动Spark应用程序

使用Spark提供的spark-submit脚本来提交和运行您的应用程序。在命令行中,使用以下命令:

spark-submit --class your.package.YourMainClass --master spark://your-spark-master:7077 /path/to/your-jar-file.jar

其中,your.package.YourMainClass是您的Scala应用程序的入口类,spark://your-spark-master:7077是您Spark集群的主节点地址。根据您的实际情况,可能需要提供其他参数和配置。

在此样例中我的命令是:

spark-submit --master spark://master:7077 --class code.userprint.OfferName /opt/java.jar

再次运行报错

终止运行后会报错说此hive表已存在,但在命令行里去show tables;是找不到这个表的.此时是需要删除映射:

hdfs dfs -rm -r hdfs://node01:9000/hive/warehouse/userprint.db/tvoffername

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷月半明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值