草庐IT

scala - 缓存的 Spark RDD(从序列文件中读取)有无效条目,我该如何解决?

我正在使用Spark(v1.6.1)阅读Hadoop序列文件。缓存RDD后,RDD中的内容变为无效(最后一个条目重复了n次)。这是我的代码片段:importorg.apache.hadoop.io.Textimportorg.apache.hadoop.mapred.SequenceFileOutputFormatimportorg.apache.spark.{SparkConf,SparkContext}objectMain{defmain(args:Array[String]){valseqfile="data-1.seq"valconf:SparkConf=newSparkCon

python - Spark 支持使用 Windows 函数

我使用的是spark版本1.6.0..而我将spark与python一起使用。我发现我正在使用的spark版本不支持windows功能,因为当我尝试在中使用windows功能时我的查询(使用sparksql)给了我一个错误,因为“你需要使用配置单元功能构建spark”。之后我搜索了各种东西,发现我需要使用spark版本1.4.0.,但我没有运气。一些帖子还建议使用hive功能构建spark。但是我没有找到正确的方法。使用spark1.4.0时出现以下错误。raiseValueError("invalidmode%r(onlyr,w,ballowed)")ValueError:inval

java - Spark 作业失败,因为它找不到 hadoop core-site.xml

我正在尝试运行spark作业,但在尝试启动驱动程序时出现此错误:16/05/1714:21:42ERRORSparkContext:ErrorinitializingSparkContext.java.io.FileNotFoundException:Addedfilefile:/var/lib/mesos/slave/slaves/0c080f97-9ef5-48a6-9e11-cf556dfab9e3-S1/frameworks/5c37bb33-20a8-4c64-8371-416312d810da-0002/executors/driver-20160517142123-018

hadoop - Spark Thriftserver 未连接到正确的 Hive 数据库

我正在运行一个SparkThriftServer,这样我就可以对存储在Hive表中的数据执行SparkSQL命令。当我启动beeline以显示我当前的表格时:user@mn~$beeline!connectjdbc:hive2://mn:10000showtables;+------------+--------------+--+|tableName|isTemporary|+------------+--------------+--++------------+--------------+--+输出显示我的数据库中没有表。但是,如果我使用(已弃用的)CLIhive,我会得到不同

java - 向 Hadoop/Spark 添加自定义代码——压缩编解码器

在处理数据压缩时,Spark支持底层Hadoop基础架构中的各种压缩方案。例如Snappy(默认)、LZ4、LZF、GZIP。如何指定使用与现有编解码器不同的用户构建的自定义编解码器顺序。例如,我的编解码器称为DUMB。我如何使用DUMB而不是默认的Snappy。我查看了CompressionCodecFactory类(https://hadoop.apache.org/docs/r1.2.1/api/org/apache/hadoop/io/compress/CompressionCodecFactory.html),但仍然不太了解如何进行连接。以前有没有人做过类似的事情,或者有任何

scala - Spark : scala - how to convert collection from RDD to another RDD

如何将调用take(5)后返回的集合转换为另一个RDD,以便在输出文件中保存前5条记录?如果我使用saveAsTextfile它不允许我一起使用take和saveAsTextFile(这就是为什么你会看到下面注释的行).它按排序顺序存储来自RDD的所有记录,因此前5个记录是前5个国家,但我只想存储前5个记录-是否可以在RDD中转换集合[take(5)]?valStrips=txtFileLines.map(_.split(",")).map(line=>(line(0)+","+(line(7).toInt+line(8).toInt))).sortBy(x=>x.split(",")

apache-spark - 文件大于 HDFS 中的 block 大小

众所周知,写入大于HDFSblock大小的单个文件并不是最佳选择,许多非常小的文件也是如此。但是,当在spark中执行repartition('myColumn)操作时,它将为每个项目创建一个分区(假设是一天),其中包含所有记录(作为单个文件),这些记录可能是几GB大小(假设20GB),而HDFSblock大小配置为256MB。文件太大真的不好吗?当读回文件时(假设它是一个可拆分文件,如parquet或带有gzip或zlib压缩的orc)spark正在为每个文件创建>>1任务,即这是否意味着我不需要担心指定maxRecordsPerFile/文件大小大于HDFSblock大小?

apache-spark - HDFS 和 Spark : Best way to write a file and reuse it from another program

我有一些来自Spark应用程序的结果作为名为part-r-0000X(X=0、1等)的文件保存在HDFS中。而且,因为我想将所有内容加入到一个文件中,所以我使用了以下命令:hdfsdfs-getmergesrcDirdestLocalFile前面的命令在bash脚本中使用,该脚本清空输出目录(保存part-r-...文件的位置),并在循环内执行上面的getmerge命令。问题是我需要在另一个Spark程序中使用生成的文件,该程序需要将该合并文件作为HDFS的输入。所以我将其保存为本地,然后将其上传到HDFS。我想到了另一种选择,即以这种方式从Spark程序写入文件:outputData

apache-spark - 如何将作业提交到其他集群上的 yarn ?

我有一个安装了spark的docker容器,我正在尝试使用marathon将作业提交到其他集群上的yarn。docker容器具有yarn和hadoopconf目录的导出值,yarn文件还包含emrmasterip的正确地址,但我不确定它从哪里作为本地主机?ENVYARN_CONF_DIR="/opt/yarn-site.xml"ENVHADOOP_CONF_DIR="/opt/spark-2.2.0-bin-hadoop2.6"yarn.xmlyarn.resourcemanager.hostnamexx.xxx.x.xx命令:"cmd":"/opt/spark-2.2.0-bin-h

apache-spark - 您如何在 hdfs 中查看文件的行组

我遇到了这个page在jira中,我想知道如何获得相同的行组View。像这样:hdfs中是否有可以向我显示此内容的命令? 最佳答案 我报告了JIRA。我用过parquet-toolsmeta/path/to/file.parquet|grep"rowgroup"然后手动编辑输出以对齐数字。或者,您可以附加|column-t用于一些基本对齐。尽管在这种情况下数字将左对齐而不是右对齐,但至少它们会一个接一个地排列。parquet-tools本身是一个未记录的帮助程序脚本included在Parquet先生。您可以调用hadoopjar/