草庐IT

spark-submit

全部标签

scala - 如何在 EMR 上使用 spark 有效地读取/解析 s3 文件夹中的 .gz 文件负载

我正在尝试通过在EMR上执行的spark应用程序读取s3目录中的所有文件。数据以典型格式存储,如“s3a://Some/path/yyyy/mm/dd/hh/blah.gz”如果我使用深度嵌套的通配符(例如“s3a://SomeBucket/SomeFolder/////*.gz”),性能会很糟糕并且需要大约40分钟阅读几万个gzip压缩的小json文件。它可以工作,但是浪费40分钟来测试一些代码真的很糟糕。我的研究告诉我还有另外两种方法性能更高。使用hadoop.fs库(2.8.5)我尝试读取我提供的每个文件路径。privatedefgetEventDataHadoop(events

apache-spark - 亚马逊电子病历 : Spark - SparkException java IOException: Failed to create local dir in/tmp/blockmgr*

我有一个带有Spark的AWSEMR集群。我可以连接到它(spark):通过SSH连接到主节点后从主节点来自另一个AWSEMR集群但无法连接到它:从我的本地机器(macOSMojave)来自非emr机器,如Metabase和Redash我已阅读thisquestion的答案.我已经检查过所有节点上的文件夹权限和磁盘空间都没有问题。我的假设是我面临着类似的问题JamesWierzba在评论中提问。但是,我没有足够的声誉在那里添加评论。此外,考虑到它特定于AWSEMR,这可能是一个不同的问题。SSH连接到主节点后连接工作正常。#SSHedtomasternode$ssh-i~/identi

java - 带有 Java 的 Apache Spark : Launching multiple app requests simultaneously

我们将spark与java结合使用,并创建了JavaRESTapi来调用我们的spark代码。在调用RESTurl时,我的java方法将创建SparkSession和Context以继续计算。这对于单个请求工作正常,但同时对于多个请求,我们收到与SparkContexts相关的问题:同一驱动程序JVM中的多个SparkContexts还尝试使用:conf.set("spark.driver.allowMultipleContexts","true");请建议如何管理同步spark请求的Spark上下文。或者任何其他处理这种情况的方法? 最佳答案

scala - 我应该添加哪个依赖项以使用 intelliJ 使用 scala-spark 在 s3 中获取 txt 文件?

我正在使用IntelliJide和scala语言,我想使用IAM用户凭证访问存储在AWSS3中的文本文件。我还没有使用依赖项在我的系统上下载Hadoop。我已经使用Aws依赖项和jets3t依赖项完成了此操作。但我想用Spark来做。我遇到的基本错误是:java.lang.RuntimeException:java.lang.ClassNotFoundException:Classorg.apache.hadoop.fs.s3a.S3AFileSystemnotfound,java.lang.RuntimeException:java.lang.ClassNotFoundExcepti

apache-spark - 关于 HIVE_STATS_JDBC_TIMEOUT 的任何更新以及如何在源代码级别跳过它

当我尝试对Hive使用Spark-Sql时,抛出如下错误。Exceptioninthread"main"java.lang.NoSuchFieldError:HIVE_STATS_JDBC_TIMEOUTatorg.apache.spark.sql.hive.HiveUtils$.formatTimeVarsForHiveClient(HiveUtils.scala:204)atorg.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver$.main(SparkSQLCLIDriver.scala:90)atorg.apache.sp

hadoop - 如何使 hadoop snappy 输出文件的格式与 Spark 生成的文件格式相同

我们使用的是Spark,到目前为止输出的是PSV文件。现在为了节省空间,我们想压缩输出。为此,我们将更改为使用SnappyCodec保存JavaRDD,如下所示:objectRDD.saveAsTextFile(rddOutputFolder,org.apache.hadoop.io.compress.SnappyCodec.class);然后我们将使用Sqoop将输出导入数据库。整个过程运行良好。对于以前在HDFS中生成的PSV文件,我们也想将它们压缩为Snappy格式。这是我们尝试的命令:hadoopjar/usr/hdp/2.6.5.106-2/hadoop-mapreduce/

apache-spark - Hive unix_timestamp 在源列中的毫秒数不起作用

我正在使用Hive1.1a_ingestion_dtm中最后六位代表毫秒。但是如果我也指定模式,unix_timestamp配置单元函数会给我相同的结果那么我如何获得包含毫秒的unix_timestamp结果selecta_ingestion_dtm,unix_timestamp(a_ingestion_dtm)fromomegalimit10;+-----------------------------+-------------+--+|a_ingestion_dtm|_c1|+-----------------------------+-------------+--+|2019

scala - 在 Spark Scala 中动态创建数据帧

我有几列数据来自Dataframe1,在一个循环中(来自不同的行)。我想用所有这些不同的行/列数据创建一个Dataframe2。下面是示例数据,我尝试使用Seq:varDF1=Seq(("11111111","0101","6573","X1234",12763),("44444444","0148","8382","Y5678",-2883),("55555555","0154","5240","Z9011",8003))我想在上面的Seq下面添加2个动态行,然后使用最终的Seq创建一个Dataframe。("88888888","1333","7020","DEF34",500)(

apache-spark - Spark : Understanding Dynamic Allocation

我已经启动了一个具有以下配置的spark作业:--masteryarn--deploy-modecluster--confspark.scheduler.mode=FAIR--confspark.dynamicAllocation.enabled=true--confspark.dynamicAllocation.maxExecutors=19--confspark.dynamicAllocation.minExecutors=0它运行良好并成功完成,但在检查sparkhistoryui后,这是我看到的:我的问题是(我关心的是理解而不是解决方案):如果没有任务可做,为什么spark会请

apache-spark - 有没有办法一次加入两个以上的数据集?

我有4个具有不同架构的数据集。我需要用left-anti加入他们。我不想一一加入,而是想知道有没有办法一次加入所有这些。 最佳答案 所以这里是spark2.4.3的嵌套连接。所以我只是随机抽取一些东西来给你一个实现嵌套连接的想法。FirstDataFramescala>valsomeDF=Seq(("user1","math","algebra-1","90"),("user1","physics","gravity","70"),("user3","biology","health","50"),("user2","biology