草庐IT

hadoop - 在 Spark Streaming 中更改输出文件名

我正在运行一个Spark作业,它在逻辑上表现得非常好。但是,当我使用saveAsTextFile将文件保存在s3存储桶中时,我的输出文件的名称格式为part-00000、part-00001等。有没有办法更改输出文件名?谢谢。 最佳答案 在Spark中,您可以使用saveAsNewAPIHadoopFile并在hadoop配置中设置ma​​preduce.output.basename参数来更改前缀(只是“部分”前缀)valhadoopConf=newConfiguration()hadoopConf.set("mapreduce.

hadoop - 从本地 IDE 针对远程 Spark 集群运行

我们有一个基于Kerberos的集群,Spark在Yarn上运行。目前,我们在本地用Scala编写Spark代码,然后构建一个胖JAR,我们将其复制到集群,然后运行​​spark-submit。相反,我想在我的本地PC上编写Spark代码并让它直接在集群上运行。有没有直接的方法来做到这一点?Spark文档似乎没有任何此类模式。仅供引用,我的本地计算机正在运行Windows,集群正在运行CDH. 最佳答案 虽然cricket007的答案适用于spark-submit,但这是我使用IntelliJ针对远程集群运行的方法:首先,确保客户端

scala - spark csv读取速度很慢,虽然我增加了节点数

我在GoogleComputeEngine上创建了两个集群,该集群读取100GB数据。集群一:1主-15GB内存-250GB磁盘10个节点-7.5GB内存-200GB磁盘第二组:1主-15GB内存-250GB磁盘150个节点-1.7GB内存-200GB磁盘我正在用它来读取文件:valdf=spark.read.format("csv").option("inferSchema",true).option("maxColumns",900000).load("hdfs://master:9000/tmp/test.csv")这也是一个包含55k行和850k列的数据集。Q1:虽然我增加了机

hadoop - Hadoop EC2 安装的 Spark 脚本 : IPC client connection refused

我试图在EC2的spark脚本设置的EC2集群上使用distcp在Hadoop和AmazonS3之间复制[root]#bin/hadoopdistcps3n://bucket/f1hdfs:///user/root/我得到的错误是INFOipc.Client:Retryingconnecttoserver:..Alreadytriedntime(s).Copyfailed:java.net.ConnectException:Callto..my_serverfailedonconnectionexcep\tion:java.net.ConnectException:Connection

python - 使用 Spark,如何连接 master 或解决错误 :"WARN TaskSchedulerImpl: Initial job has not accepted any resources"

请告诉我如何解决以下问题。首先,我确认以下代码在master为“本地”时运行。然后我启动了两个EC2实例(m1.large)。但是,当master为“spark://MASTER_PUBLIC_DNS:7077”时,会出现错误消息“TaskSchedulerImpl”并且失败。当我从VALID地址更改为Master(spark://INVALID_DNS:7077)的INVALID地址时,会出现相同的错误消息。即,"WARNTaskSchedulerImpl:Initialjobhasnotacceptedanyresources;检查您的集群UI以确保工作人员已注册并有足够的内存"好

hadoop - Spark 在 hdfs 中只读

我已经使用HDFS设置了一个Spark集群配置,我知道在HDFS示例中Sparkall将读取默认文件路径:/ad-cpc/2014-11-28/Sparkwillreadin:hdfs://hmaster155:9000/ad-cpc/2014-11-28/有时我想知道如何在不重新配置我的集群(不使用hdfs)的情况下强制Spark在本地读取文件。请帮帮我!!! 最佳答案 可以从Spark引用本地文件系统,前缀为file:///Eg:sparkContext.textFile("file:///>")此命令从本地文件系统读取文件。注

java - Apache Spark :-Nullpointer Exception on broadcast variables (YARN Cluster mode)

我有一个简单的spark应用程序,我试图在YARN集群上广播一个String类型的变量。但是每次我尝试访问广播变量值时,我都会在任务中得到空值。如果你们可以提出建议,那将非常有帮助,我在这里做错了什么。我的代码如下:-publicclassTestAppimplementsSerializable{staticBroadcastmongoConnectionString;publicstaticvoidmain(String[]args){StringmongoBaseURL=args[0];SparkConfsparkConf=newSparkConf().setAppName(Co

hadoop - 部署 Spark 的最佳方式?

在YARN或EMR而非EC2上部署Spark是否有实质性优势?这将主要用于研究和原型(prototype)设计,并且可能使用Scala。我们不愿意不使用EC2主要是因为其他选项涉及额外的基础设施和复杂性,但也许它们也提供了实质性的好处?我们主要是从S3读取数据/向S3写入数据。 最佳答案 让我们区分不同的层:有基础设施层,即spark作业应该在哪些(虚拟)机器上运行。潜在的选择包括本地机器集群或从EC2租用的虚拟机集群。尤其是当从S3写入大量数据或向S3写入大量数据时,EC2可能是一个不错的选择,因为这两种服务都很好地集成并且通常在

scala - Spark : Custom key compare method for reduceByKey

我需要在Scala中使用我自己的类作为键/值对中的键。特别是,我有一个包含两个变量id1和id2的简单类,我希望元素仅根据id2和不是id1。我在网上找不到任何关于如何以及在何处可以重写reduceByKey()方法的比较方法的信息,以便它可以根据我的自定义compare()方法。感谢任何帮助。谢谢你。 最佳答案 您不能覆盖reduceByKey的比较,因为它无法利用这样一个事实,即您的数据通常在整个集群中的不同执行程序上按key进行混洗。不过,您可以更改key(请注意,根据您使用的转换/操作,这可能会重新洗牌周围的数据)。RDD中

hadoop - 如何将位于 HDFS 上的类型安全配置文件添加到 spark-submit(集群模式)?

我有一个Spark(Spark1.5.2)应用程序,可以将数据从Kafka流式传输到HDFS。我的应用程序包含两个Typesafe配置文件来配置某些东西,比如Kafka主题等。现在我想在集群中使用spark-submit(集群模式)运行我的应用程序。我项目的所有依赖项的jar文件存储在HDFS上。只要我的配置文件包含在jar文件中,一切正常。但这对于测试目的是不切实际的,因为我总是必须重建jar。因此我排除了项目的配置文件,并通过“driver-class-path”添加了它们。这适用于客户端模式,但如果我现在将配置文件移动到HDFS并在集群模式下运行我的应用程序,它找不到设置。您可以