草庐IT

sparking

全部标签

scala - Spark-shell 命令抛出错误

我正在尝试使用$spark-shell打开sparkshell,它每次都在工作,但今天突然抛出了这个错误:错误WARNutil.Utils:Service'SparkUI'couldnotbindonport4040.Attemptingport4041. 最佳答案 如果你不再需要它,你可以终止监听端口4040的进程fuser-k-ntcp4040或者如果您需要两个实例,您可以使用另一个端口启动一个新的spark-shellspark-shell--confspark.ui.port=4048

Hadoop+Spark - 一旦应用程序正常启动一次就会显示错误

我有一个包含40000行的文件,每行一个单词,彼此。我启动Hadoop、主服务器、从服务器-一切正常:start-dfs.sh;start-yarn.sh;/opt/spark/sbin/start-master.sh;/opt/spark/sbin/start-slaves.sh我运行示例应用程序,计算单词数:/opt/spark/bin/spark-submit--classorg.apache.spark.examples.JavaWordCount--deploy-modecluster--masteryarn--driver-memory2g--executor-memory

scala - 当我尝试通过 Cloudera VM 在 spark 中运行 scala 命令时,topology.py 出现语法错误

每次我尝试按照Scala命令运行valdataRDD=sc.textFile("hdfs://quickstart.cloudera:8020/user/cloudera/data/data.txt")dataRDD.collect().foreach(println)//ordataRDD.count()我得到以下异常-exitCodeExceptionexitCode=1:File"/etc/hadoop/conf.cloudera.yarn/topology.py",line43printdefault_rack^SyntaxError:Missingparenthesesinc

hadoop - spark-submit 不使用 YARN

我已经使用YARN设置了一个5节点的hadoop集群,Spark也设置在所有5个节点上。我正在使用spark-1.5.0-cdh5.5.0当我运行时spark-shell--masteryarn--num-executors3这会按预期启动一个shell,并使用yarn从RM获取资源。所以,我猜spark正在按预期使用hadoopconf文件。但是当我做spark-submit时spark-submitword_count.py--masteryarn-cluster--num-executors3这是尝试连接到sparkmaster,据信在yarn上运行时不需要这样做。错误如下:16

hadoop - 在 Kerberized 集群中读取 Spark 应用程序中的 HDFS 文件

我使用HortonworksDataPlatform2.5设置了一个Hadoop集群,其中还包括Ambari2.4、Kerberos、Spark1.6.2和HDFS。我有例如以下用户的Kerberos主体和key表:spark(由Ambari在启用Kerberos期间创建)hdfsuserA(由kadmin创建->add_principle)需要用户spark在安全集群中运行spark-submit命令,Spark应用程序必须打开HDFS目录/user/中的一些文件hdfsuserA/...,由hdfsuserA(700)所有。由于我启用了Kerberos,我的Spark应用程序将不再

hadoop - 使用 spark 保存和处理大量小文件

我是大数据新手!我有一些关于如何在EMR集群上的spark中处理和保存大量小文件(pdf和ppt/pptx)的问题。我的目标是将数据(pdf和pptx)保存到HDFS(或集群中的某种类型的数据存储中),然后从spark中提取此文件的内容并将其保存在elasticsearch或某些关系数据库中。我读过在HDFS中保存数据时的小文件问题。保存大量pdf和pptx文件(最大大小100-120MB)的最佳方法是什么?我读过有关序列文件和HAR(hadoop存档)的内容,但我不明白它们究竟是如何工作的,也不知道什么是最好的。处理这些文件的最佳方式是什么?我知道有些解决方案可能是FileInput

hadoop - YARN 上的 Spark 应用程序的物理内存使用量不断增加

我在YARN客户端模式下运行一个Spark应用程序,有六个执行器(每个四个内核和执行器内存=6GB,开销=4GB,Spark版本:1.6.3/2.1.0)。我发现我的执行程序内存一直在增加,直到被节点管理器杀死;它给出了告诉我提升spark.yarn.excutor.memoryOverhead的信息。我知道这个参数主要是控制堆外分配内存的大小。但是我不知道Spark引擎会在什么时候以及如何使用这部分内存。另外增加那部分内存并不总能解决我的问题。有时有效,有时无效。当输入数据很大时,它趋向于无用。仅供引用,我的应用程序的逻辑非常简单。意思是把一天(一天一个目录)产生的小文件合并成一个,

scala - EMR Spark 无法将 Dataframe 保存到 S3

我正在使用RunJobFlow命令启动SparkEMR集群。此命令设置JobFlowRole到具有政策AmazonElasticMapReduceforEC2Role的IAM角色和AmazonRedshiftReadOnlyAccess.第一个策略包含允许所有s3权限的操作。当EC2实例启动时,它们会承担这个IAM角色,并通过STS生成临时凭证。我做的第一件事是使用com.databricks.spark.redshift从我的Redshift集群读取一个表到一个SparkDataframe中。格式并使用相同的IAM角色从redshift卸载数据,就像我为EMR所做的那样JobFlow

hadoop - Spark SQL saveAsTable 返回空结果

我正在使用以下代码在SparkSQL中创建数据/将数据插入到Hive表中:valsc=SparkSession.builder().appName("App").master("local[2]").config("spark.sql.warehouse.dir","file:///tmp/spark-warehouse").enableHiveSupport().getOrCreate()//actualcoderesult.createOrReplaceTempView("result")result.write.format("parquet").partitionBy("yea

hadoop - 为什么 Spark 以不同的方式解释这两个查询?

所以我有这两个查询来实现相同的目标。使用Spark-SQL。查询A:SELECT*FROMinspex.defect_parquetaINNERJOINinspex.layer_parquetbONa.id=b.idANDb.name='Example1';查询B:SELECT*FROMinspex.defect_parquetWHEREinspex.layer_scan_indexIN(SELECTlayer_scan_indexFROMinspex.layer_parquetWHEREname='Example1');defect_parquet是一个相当大的表,layer_par