草庐IT

spark-ml

全部标签

hadoop - 由于 24 小时后无法在缓存中找到 token ,Spark 启动器作业未启动

我有一个Java应用程序,它连续运行并检查数据库中的表以获取新记录。当在表中添加新记录时,Java应用程序解压缩文件并将其放入HDFS位置,然后触发Spark作业(我在Java应用程序中使用“SparkLauncher”类以编程方式触发Spark作业),它对HDFS位置中新添加的文件进行处理。我已经使用OozieJavaAction在集群中安排了Java应用程序。该集群是HDPkerberized集群。作业在24小时内完美运行。所有的解压缩都发生了,spark作业正在运行。但24小时后解压缩发生在Java应用程序中,但资源管理器中未触发Spark作业。异常:连接到服务器时遇到异常:信息

hadoop - SPARK在Memory中是如何读取数据和管理的

谁能帮我理解SPARK如何读取hdfs数据并在主内存中管理它?换句话说,如果我创建3个RDD,第一个来自hadoop文件的RDD对其进行一些转换,然后创建第二个RDD,再次对第二个RDD进行一些转换并创建第三个RDD,然后对第三个RDD调用一些操作。将从hdfs中读取多少次数据?如果我们不显式调用缓存或持久化,所有三个RDD数据是否会保留在内存中?即当一个Action在第3个RDD上执行时,第一个RDD数据是否保留在内存中 最佳答案 如果所有RDD共享一个文件,则数据只会在操作时读取一次,而不会在任何转换时读取。重新生成第三个RDD

java - 从数据帧 'java.lang.IllegalArgumentException: Wrong FS: file:/tmp/spark expected: hdfs://nameservice1' 创建 Hive 表时出错

我是spark的新手。我正在尝试开发一个使用Spark1.6将json数据保存到Hive表的应用程序。这是我的代码:valrdd=sc.parallelize(Seq(arr.toString))//arristheJsonarrayvaldataframe=hiveContext.read.json(rdd)dataframe.registerTempTable("RiskRecon_tmp")hiveContext.sql("DROPTABLEIFEXISTSRiskRecon_TOES")hiveContext.sql("CREATETABLERiskRecon_TOESasse

hadoop - 在 Spark-on-Yarn 中配置执行器和驱动程序内存

我对在Spark-1.5.2中配置执行程序和驱动程序内存感到困惑。我的环境设置如下:3NodeMAPRCluster-EachNode:Memory256G,16CPUHadoop2.7.0Spark1.5.2-Spark-on-Yarn输入数据信息:来自Hive的460GBParquet格式表我正在使用spark-sql通过spark-on-yarn查询hive上下文,但它比Hive慢很多,而且我不确定Spark的内存配置是否正确,这些是我的配置,exportSPARK_DAEMON_MEMORY=1gexportSPARK_WORKER_MEMORY=88gspark.execut

scala - Google dataproc spark 作业失败并显示 "Node was restarted while executing a job."消息

我正在为各种Spark流作业运行多个数据处理集群。所有集群都配置为单节点。最近(大约10天前)我开始在所有集群上遇到作业失败。每个作业运行大约。3天后失败并显示相同的消息:===========CloudDataprocAgentError===========com.google.cloud.hadoop.services.agent.AgentException:Nodewasrestartedwhileexecutingajob.Thiscouldbeuser-initiatedorcausedbyComputeEnginemaintenanceevent.(TASK_FAILE

sql - 如何在spark中使用多个键构建查找功能

我是spark的新手,上周问了一个类似的问题。它编译但不工作。所以我真的不知道该怎么办。这是我的问题:我的表A包含3列,如下所示-----------A1A1A3-----------abc还有另一个像这样的表B------------------------------------B1B2B3B4B5B6B7B8B9------------------------------------1a345b78c我的逻辑是:A1A2A3是我的键,它对应表B中的B2B6B9。我需要构建一个以A1A2A3为键并返回B8的查找函数。这是我上周尝试的://gettingthedataintodata

hadoop - 通过 spark.read.json() 加载时从 JSON 中删除一列

我陷入了一个非常奇怪的境地。例如,我有一个包含这三个JSON的文件。{"uploadTimeStamp":"1500618037189","ID":"123ID","data":[{"Data":{"unit":"rpm","value":"0"},"EventID":"E1","Timestamp":1500618037189,"pii":{}},{"Data":{"heading":"N","loc1":"false","loc2":"13.022425","loc3":"77.760587","loc4":"false","speed":"10"},"EventID":"E2",

hadoop - 当 parquet 使用 Snappy 算法而不是 gzip 时,将 parquet 数据写入 hive 的 spark 作业卡在了最后一个任务中

我正在将一个Parquet文件从DataFrame写入Hive。当我使用snappy作为parquet压缩算法时,我可以看到所有任务,但1个任务在写作阶段迅速完成(例如30/31)。由于大量的gc进程,最后一项任务需要很长时间才能完成。当我使用gzip作为parquet压缩算法时,一切都会正常。我想知道两种压缩算法有什么不同。 最佳答案 gzip自然受到Hadoop的支持。gzip基于DEFLATE算法,它结合了LZ77和霍夫曼编码。GZIP压缩比Snappy使用更多CPU资源,但提供更高的压缩率。GZip通常是冷数据的好选择,不经

java - Spark SQL 看不到 hdfs 文件

我有一个spark应用程序,它在集群AWSEMR上运行。我已将文件添加到hdfs:javaSparkContext.addFile(filePath,recursive);hdfs上存在文件(可用日志:文件可读/可执行/可写),但我无法使用sparkSQLAPI从该文件读取信息:LOGGER.info("Sparkworkingdirectory:"+path);Filefile=newFile(path+"/test.avro");LOGGER.info("SPARKPATH:"+file);LOGGER.info("read:"+file.canRead());LOGGER.inf

hadoop - 无法在 Spark API 中打印/记录消息

我正在调试Spark作业,但不知何故,控制台/日志中隐藏了SparkAPI调用中的任何内容,这是我的代码:publicstaticJavaRDDjoin(JavaPairRDDhBaseRdd,Listfields){System.out.println("Injoinmethod....");logger.error("Injoinmethod....logger.error");JavaRDDpjs=hBaseRdd.map(tuple->{System.out.println("inmapAPI.....");logger.error("inmapAPI....logger.er