我想在一些生成的包含avro文件的S3路径上运行spark作业(sparkv1.5.1)。我正在加载它们:valavros=paths.map(p=>sqlContext.read.avro(p))有些路径将不存在。我怎样才能让Spark忽略那些空路径?以前我用过thisanswer,但我不确定如何将其与新的数据框API一起使用。注意:理想情况下,我正在寻找一种与链接答案类似的方法,它只是使输入路径成为可选。我不是特别想显式检查S3中路径的存在(因为这很麻烦并且可能使开发变得尴尬),但我想如果现在没有干净的方法来实现它,那是我的后备。 最佳答案
我是否正确理解了客户端模式的文档?客户端模式与驱动程序在应用程序主机中运行的集群模式相反?在客户端模式下,driver和applicationmaster是独立的进程,因此spark.driver.memory+spark.yarn.am.memory必须小于机器的内存?在客户端模式下,驱动程序内存是否未包含在应用程序主内存设置中? 最佳答案 clientmodeisopposedtoclustermodewherethedriverrunswithintheapplicationmaster?是,当Spark应用程序部署在YARN
我想遍历Hadoop目录中的所有文本文件并计算单词“error”的所有出现次数。有没有办法通过hadoopfs-ls/users/ubuntu/使用ApacheSparkScalaAPI列出目录中的所有文件?来自给定的firstexample,Spark上下文似乎只能通过类似的方式单独访问文件:valfile=spark.textFile("hdfs://target_load_file.txt")在我的问题中,我事先不知道HDFS文件夹中文件的数量和名称。看着sparkcontextdocs但找不到这种功能。 最佳答案 您可以使用
我的hortonworks集群上安装了Spark1.6.2和Spark2.0。这两个版本都安装在5个节点的Hadoop集群中的一个节点上。每次我启动spark-shell我得到:$spark-shellMultipleversionsofSparkareinstalledbutSPARK_MAJOR_VERSIONisnotsetSpark1willbepickedbydefault当我检查我得到的版本时:scala>sc.versionres0:String=1.6.2如何启动其他版本(Spark2.0的spark-shell)? 最佳答案
我有一个包含两个工作节点的集群。Worker_Node_1-64GBRAMWorker_Node_2-32GBRAM背景总结:我正在尝试在yarn-cluster上执行spark-submit以在图形上运行Pregel以计算从一个源顶点到所有其他顶点的最短路径距离并在控制台上打印值。实验:对于具有15个顶点的小图执行完成应用程序最终状态:成功我的代码运行完美,打印了241个顶点图的最短距离,将单个顶点作为源顶点,但存在问题。问题:当我深入研究日志文件时,任务在4分26秒内成功完成,但仍在终端上,它继续显示应用程序状态为正在运行,大约12分钟后分钟任务执行终止说-Applicatio
我是spark的新手,我有一个问题。我有一个两步过程,其中第一步将SUCCESS.txt文件写入HDFS上的某个位置。我的第二步是spark作业,它必须在开始处理数据之前验证该SUCCESS.txt文件是否存在。我检查了sparkAPI,但没有找到任何检查文件是否存在的方法。任何想法如何处理这个?我找到的唯一方法是sc.textFile(hdfs:///SUCCESS.txt).count(),当文件不存在时会抛出异常。我必须捕获该异常并相应地编写我的程序。我真的不喜欢这种方法。希望找到更好的替代方案。 最佳答案 对于HDFS中的文
在MacOSX上,我使用以下命令从源代码编译了Spark:jacek:~/oss/spark$SPARK_HADOOP_VERSION=2.4.0SPARK_YARN=trueSPARK_HIVE=trueSPARK_GANGLIA_LGPL=truexsbt...[info]Setcurrentprojecttoroot(inbuildfile:/Users/jacek/oss/spark/)>;clean;assembly...[info]Packaging/Users/jacek/oss/spark/examples/target/scala-2.10/spark-example
我正在与ApacheSpark和PostgreSQL建立JDBC连接,我想将一些数据插入到我的数据库中。当我使用append模式时,我需要为每个DataFrame.Row指定id。Spark有什么方法可以创建主键吗? 最佳答案 斯卡拉:如果您只需要唯一编号,您可以使用zipWithUniqueId并重新创建DataFrame。首先是一些导入和虚拟数据:importsqlContext.implicits._importorg.apache.spark.sql.Rowimportorg.apache.spark.sql.types.{
我的理解是Spark是Hadoop的替代品。但是,在尝试安装Spark时,安装页面要求安装现有的Hadoop。我找不到任何可以阐明这种关系的东西。其次,Spark显然与Cassandra和Hive具有良好的连接性。两者都有sql风格的界面。但是,Spark有自己的sql。为什么要使用Cassandra/Hive而不是Spark的原生sql?假设这是一个没有现有安装的全新项目? 最佳答案 Spark是一种分布式内存处理引擎。它不需要与Hadoop配对,但由于Hadoop是最流行的大数据处理工具之一,Spark被设计为在该环境中运行良好
我想使用Scala/Spark列出hdfs目录中的所有文件夹。在Hadoop中,我可以使用以下命令执行此操作:hadoopfs-lshdfs://sandbox.hortonworks.com/demo/我试过:valconf=newConfiguration()valfs=FileSystem.get(newURI("hdfs://sandbox.hortonworks.com/"),conf)valpath=newPath("hdfs://sandbox.hortonworks.com/demo/")valfiles=fs.listFiles(path,false)但他似乎没有查看