草庐IT

spark-submit

全部标签

hadoop - 在 apache spark 中访问以下划线开头的文件

我正在尝试在ApacheSpark中访问s3上以_开头的gz文件。不幸的是,spark认为这些文件不可见并返回Inputpathdoesnotexist:s3n:.../_1013.gz。如果我删除下划线,它会发现文件很好。我尝试将自定义PathFilter添加到hadoopConfig:packageCustomReaderimportorg.apache.hadoop.fs.{Path,PathFilter}classGFilterZipextendsPathFilter{overridedefaccept(path:Path):Boolean={true}}//insparkse

hadoop - Spark SQL : HiveContext don't ignore header

我有一个spark作业,它从外部Hive表中读取数据并进行一些转换并将数据重新保存到另一个内部Hive表中valsparkConf=newSparkConf().setAppName("BulkMergeDailyLoadJob")valsparkContext=newSparkContext(sparkConf)valsqlContext=newHiveContext(sparkContext)//DataIngestionvalmy_df=sqlContext.sql("select*fromtest")//Transformation......//SaveDataintoHiv

hadoop - 对于在 YARN 上运行的 Spark 应用程序,哪种部署模式更好 - 客户端或集群

我了解YARN上Spark应用程序的客户端模式和集群模式之间的主要区别。主要区别包括驱动程序在哪里运行-clinet模式下的本地,集群模式下的ApplicationMasterClientrunningduration-在clinet模式下,client需要运行整个持续时间,在集群模式下,客户端不需要运行,因为AM会处理它交互使用-sparkshell和pyspark。集群模式不太适合这些要求驱动在客户端运行安排工作-在客户端模式下,客户端通过直接与容器通信来安排工作。在集群模式下,A通过直接与容器通信来调度工作两种情况的相似之处谁处理来自YARN的执行器请求-应用主管谁启动执行程序进

scala - Spark 在 hdfs 上写入 Parquet

我安装了3个节点hadoop和spark。我想从rdbms中获取数据到数据帧中,并将这些数据写入HDFS上的Parquet。“dfs.replication”值为1。当我使用以下命令尝试此操作时,我看到所有HDFSblock都位于我执行spark-shell的节点上。scala>xfact.write.parquet("hdfs://sparknode01.localdomain:9000/xfact")这是预期的行为还是应该将所有block分布在整个集群中?谢谢 最佳答案 由于您正在将数据写入HDFS,因此这不依赖于spark,而

scala - 将 Spark 流数据写入并附加到 HDFS 中的文本文件

我正在创建一个sparkscala代码,我在其中从MQTT服务器读取连续流。我在yarn集群模式下运行我的工作。我想将此流保存并附加到HDFS中的单个文本文件中。我将每1秒接收一次数据流。所以我需要将这些数据附加到HDFS中的单个文本文件中。谁能帮忙。 最佳答案 使用数据框和使用模式Append这将在每次新记录出现时追加数据。valsqlContext=neworg.apache.spark.sql.SQLContext(context)importsqlContext.implicits._stream.map(_.value).

hadoop - Hive on Spark : Missing <spark-assembly*. jar>

我正在运行Hive2.1.1、Spark2.1.0和Hadoop2.7.3。我尝试按照HiveonSpark:GettingStarted构建Spark:./dev/make-distribution.sh--name"hadoop2-without-hive"--tgz"-Pyarn,hadoop-provided,hadoop-2.7,parquet-provided"但是,我在spark目录下找不到任何spark-assemblyjar文件(find.-name"spark-assembly*.jar"没有返回任何内容)。我没有将spark-assemblyjar链接到HIVE_

hadoop - spark-shell 无法连接到远程主机

我有两个相同版本的spark。192.168.2.230作为主机,192.168.2.5作为从机。我在2.5和2.230上尝试了./spark-submit--version:Welcometo______/__/__________//___\\/_\/_`/__/'_//___/.__/\_,_/_//_/\_\version2.1.0/_/UsingScalaversion2.11.8,OpenJDK64-BitServerVM,1.8.0_121BranchCompiledbyuserjenkinson2016-12-16T02:04:48ZRevisionUrlType--h

hadoop - 在 Sparklyr 中创建新的 Spark 表或数据框的最有效方法是什么?

在Hadoop集群(不是VM)上使用sparklyr包,我正在处理需要连接、过滤等的几种类型的表...我正在尝试确定使用dplyr命令以及sparklyr中的数据管理功能来运行处理、将其存储在缓存中并使用中间层的最有效方法数据对象以生成保留在缓存中的下游对象。上面提出的这个问题很肤浅,但我希望获得比纯粹效率更多的信息,所以如果你想编辑我的问题,我可以接受......我在Hive中有一些表,我们称它们为Activity2016、Accounts2016和Accounts2017。“帐户”表还包括地址历史记录。我想从2016年的数据开始,合并关于姓名和当前地址的两个表,过滤一些事件和帐户详

hadoop - (Spark) 当两个大的 rdd join 都对内存来说太大时(意味着不能使用广播),是否有任何可能的方法来优化它们?

作为标题。当两个大的rddjoin都对内存来说太大时,是否有任何可能的方法来优化它们?在这种情况下,我想我们不能将广播用于map端连接。如果我必须加入这两个rdd,并且它们都太大而无法容纳在内存中:country_rdd:(id,country)income_rdd:(id,(income,month,year))joined_rdd=income_rdd.join(country_rdd)有什么方法可以减少这里的洗牌吗?或者我可以做些什么来调整连接性能?此外,joined_rdd将仅按国家和时间进一步计算和减少,不再与id相关。例如:我的最终结果=不同国家不同年份的收入。这样做的最佳

scala - 如果我有身份验证详细信息,如何使用 spark 编程 API 写入 HDFS?

我需要写入外部HDFS集群,其身份验证详细信息可用于简单例份验证和kerberos身份验证。为了简单起见,假设我们正在处理简单的身份验证。这是我的:外部HDFS集群连接详细信息(主机、端口)身份验证详细信息(简单例份验证的用户)HDFS需要写入文件的位置(hdfs://host:port/loc)此外,其他细节,如格式等。请注意SPARK用户与为HDFS身份验证指定的用户不同。现在,使用spark编程API,这就是我想要做的:valhadoopConf=newConfiguration()hadoopConf.set("fs.defaultFS",fileSystemPath)hado