草庐IT

spark-submit

全部标签

scala - Spark 作业未在本地并行化(使用本地文件系统中的 Parquet + Avro)

编辑2通过将RDD重新分区为8个分区间接解决了问题。遇到avro对象不是“javaserialisable”的障碍,找到了一个片段heretodelegateavroserialisationtokryo.原来的问题依然存在。编辑1:删除了map函数中的局部变量引用我正在编写一个驱动程序,使用parquet和avroforio/schema在spark上运行计算繁重的作业。我似乎无法得到Spark来使用我所有的核心。我究竟做错了什么?是因为我已将键设置为null吗?我刚刚开始了解hadoop如何组织文件。据我所知,因为我的文件有1GB的原始数据,我应该期望看到与默认block和页面大小

hadoop - 来自集群未知主机名的主机的 Spark YARN 客户端作业?

我有一些私有(private)主机可以从YARN集群中通过IP而不是通过主机名可见。当他们尝试以YARN客户端模式提交任何Spark作业时,会尝试从集群连接驱动程序主机。由于默认情况下spark.driver.host配置为本地主机名,因此失败。那么有什么好的选择来处理这个问题吗?诸如自动将``spark.driver.host`设置为用于连接到集群的客户端IP接口(interface)地址之类的东西?正确的DNS解析不是选项。不可能。 最佳答案 基于此http://spark.apache.org/docs/latest/conf

hadoop - 使用 Spark 多次写入 hadoop 分布式文件系统

我创建了一个spark作业,它每天从我的hdfs中读取一个文本文件,并从文本文件的每一行中提取唯一的键。每个文本文件中大约有50000个键。然后通过提取的key过滤相同的数据并保存到hdfs。我想在我的hdfs中创建一个目录,其结构为:hdfs://.../date/key,其中包含过滤后的数据。问题是写入hdfs需要非常非常很长时间,因为有太多的键。现在的写法:valinputData=sparkContext.textFile(""hdfs://...",2)valkeys=extractKey(inputData)//keysisanarrayofapprox50000uniqu

hadoop - 无法在 dse 4.5 中运行 spark master 并且缺少 slaves 文件

我在DSE4.5中有5个节点集群正在运行。5个节点中有1个节点已启用hadoop_enabled和spark_enabled,但sparkmaster未运行。ERROR[Thread-709]2014-07-0211:35:48,519ExternalLogger.java(line73)SparkMaster:Exceptioninthread"main"org.jboss.netty.channel.ChannelException:Failedtobindto:/54.xxx.xxx.xxx:7077有人对此有任何想法吗?我也尝试导出SPARK_LOCAL_IP但这也不起作用DS

hadoop - Apache Spark 移动/重命名成功处理的文件

我想使用sparkstreaming(1.1.0-rc2Java-API)来处理一些文件,并在处理成功后移动/重命名它们,以便将它们推送到其他作业。我考虑过使用生成的RDD名称中包含的文件路径(newAPIHadoopFile),但我们如何确定文件处理是否成功结束?也不确定这是实现它的正确方法,因此欢迎任何想法。编辑:这里有一些伪代码更清楚:logs.foreachRDD(newFunction2,Time,Void>(){@OverridepublicVoidcall(JavaRDDlog,Timetime)throwsException{StringfileName=log.nam

hadoop - 小文件和 hadoop/spark - 每个原始文件都是一个计算单元

场景我有一个场景,我想可扩展地处理包含许多小文件(~0.7MB平均输入文件大小)的数据。因为这不适用于包含许多小文件的hdfsduetothe"smallfilesproblem",我想我会将一种类型的所有输入文件(我们称之为A型)合并到一个hdfs文件中,并将另一种类型的文件(我们称之为B型)合并到另一个hdfs文件中,依此类推。然而,在我的例子中,我需要保留原始输入文件与其内容之间的关系——因为每个输入文件都应该作为一个单元单独处理,在我的例子中,在map-reduce作业中,这是由自然引起的我的数据。问题是:我应该如何标记每个输入文件在它到达的聚合文件中的边界?理想情况下,我会将

scala - 如何在我的 Spark 应用程序中使用 OpenHashSet?

根据private[spark],我知道OpenHashSet在spark中是私有(private)的,但是当数据非常大时,通常我们需要更快的HashMap或HashSet实现。我如何在自己的代码中使用这些数据结构?或者是还有其他选择吗?谢谢! 最佳答案 好吧,它是开源的,因此您可以fork/复制它,重命名包以避免冲突,并删除private[spark]限制。但是,当然这取决于Paul提到的您的具体用例。参见thisquestion法律问题。 关于scala-如何在我的Spark应用程序

java - Spark SQL - 从另一个配置单元表错误将数据插入配置单元表

我想使用SparkSQL将数据从另一个hive表插入到hive表中。我遇到了以下错误。我的代码:SparkConfconf=newSparkConf().setAppName("GetHiveTableData");JavaSparkContextsc=newJavaSparkContext(conf);JavaHiveContexthiveCtx=newJavaHiveContext(sc);JavaSchemaRDDrdd=hiveCtx.sql("INSERTINTOTABLEtable1(aggregation_date,subnetwork,last_5_max)select

hadoop - Spark over Yarn - 不正确的 Application Master 选择

我正在尝试使用以下命令在Yarn上使用Spark触发一些作业(这只是一个示例,实际上我使用的是不同数量的内存和内核):./bin/spark-submit--classorg.mypack.myapp\--masteryarn-cluster\--num-executors3\--driver-memory4g\--executor-memory2g\--executor-cores1\lib/myapp.jar\当我查看WebUI以查看幕后真正发生的事情时,我注意到YARN正在选择一个不是SparkMaster的节点作为ApplicationMaster。这是一个问题,因为真正的Sp

hadoop - Spark : Hive Insert overwrite throws ClassNotFoundException

我有这段代码将schemaRDD(person)保存到存储为parquet(person_parquet)的Hive表中hiveContext.sql("insertoverwritetableperson_parquetselect*fromperson")但是它抛出一个错误:java.lang.RuntimeException:org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.ClassNotFoundException:org.apache.hadoop.hive.ql.security.authorizatio