草庐IT

spark_libs

全部标签

Spark SQL简介与基本用法

ApacheSpark是一个强大的分布式计算框架,SparkSQL是其组件之一,用于处理结构化数据。SparkSQL可以使用SQL查询语言来查询和分析数据,同时还提供了与Spark核心API的无缝集成。本文将深入探讨SparkSQL的基本概念和用法,包括数据加载、SQL查询、数据源和UDF等内容。SparkSQL简介SparkSQL是ApacheSpark的一个模块,用于处理结构化数据。它提供了一个高性能、分布式的SQL查询引擎,可以轻松处理各种数据源,包括结构化数据、半结构化数据和非结构化数据。SparkSQL的主要特点包括:支持SQL查询:您可以使用标准的SQL查询语言来查询和分析数据,无

SPARK-RDD

1、什么是RDD1.1、RDD五大核心属性分区列表RDD数据结构中存在分区列表,用于执行任务时并行计算,是实现分布式计算的重要属性。分区计算函数Spark在计算时,是使用分区函数对每一个分区进行计算RDD之间的依赖关系RDD是计算模型的封装,当需求中需要将多个计算模型进行组合时,就需要将多个RDD建立依赖关系。RDD之间的依赖关系又可以分为宽依赖与窄依赖分区器当数据为KV类型数据时,可以通过设定分区器自定义数据的分区首选位置计算数据时,可以根据计算节点的状态选择不同的节点位置进行计算,移动计算不移动数据。2、RDD转换算子转换算子:由一个RDD变成另一个RDD,是RDD之间的转换,是懒执行的,

apache-spark - Spark Streaming to Hive,每个分区的小文件太多

我有一个批处理间隔为2分钟(可配置)的Spark流作业。此作业从Kafka主题读取并创建数据集并在其上应用模式并将这些记录插入到Hive表中。Spark作业在Hive分区中每个批处理间隔创建一个文件,如下所示:dataset.coalesce(1).write().mode(SaveMode.Append).insertInto(targetEntityName);现在传入的数据不是那么大,如果我将批处理持续时间增加到10分钟左右,那么即使我最终也可能只获得2-3mb的数据,这远小于block大小。这是SparkStreaming中的预期行为。我正在寻找有效的方法来进行后处理以合并所有

apache-spark - 如何在 spark shell 中启用或获取跟踪 URL?

当我给spark-shell或Spark-shell--masteryarn时,我在控制台上找不到跟踪Url。假设我更改了执行程序的编号和执行程序内存,我想使用跟踪URL验证这些更改。如果我知道如何获取这个跟踪URL将会很有帮助 最佳答案 您可以通过编程方式获取SparkUIURL:valurl=spark.sparkContext.uiWebUrl 关于apache-spark-如何在sparkshell中启用或获取跟踪URL?,我们在StackOverflow上找到一个类似的问题:

apache-spark - HadoopPartitions 的 Spark 的默认分区是如何计算的?

我正在阅读JacekLaskowski'sonlinebookaboutApacheSpark,关于分区,他说Bydefault,apartitioniscreatedforeachHDFSpartition,whichbydefaultis64MB我对HDFS不是很熟悉,但是我在复制这个声明时遇到了一些问题。我有一个名为Reviews.csv的文件,它是大约330MB的亚马逊食品评论文本文件。给定默认的64MBblock,我希望ceiling(330/64)=6分区。但是,当我将文件加载到我的SparkShell中时,我得到了9个分区:scala>valtokenized_logs=

Flink Shuffle、Spark Shuffle、Mr Shuffle 对比

总结:1、FlinkShufflePipelinedShuffle:上游Subtask所在TaskManager直接通过网络推给下游Subtask的TaskManager;BlockingShuffle:HashShuffle-将数据按照下游每个消费者一个文件的形式组织;Sort-MergeShuffle-将上游所有的结果写入同一个文件,文件内部再按照下游消费者的ID进行排序并维护索引,下游读取数据时,按照索引来读取大文件中的某一段;HybridShuffle:支持以内存或文件的方式存储上游产出的结果数据,原则是优先内存,内存满了后spill到文件,无论是在内存还是文件中,所有数据在产出后即对

python - 如何使用 Spark 和 Python 在 HDP 2.2 中更新 python 2.7

我正在尝试在HDP2.2中使用Ipython和Spark,但似乎只有python2.7支持ipython。我已经安装了Spark并测试了很好,但是在使用yum命令安装ipython之后,python的版本是一个问题。[root@sandboxspark12]#ipythonPython2.6.6(r266:84292,Jan222014,09:42:36)Type"copyright","credits"or"license"formoreinformation.IPython0.13.2--AnenhancedInteractivePython.?->Introductionando

hadoop - 为 spark 输出文件设置 S3 输出文件受赠者

我在AWSEMR上运行Spark,但在获取输出文件的正确权限时遇到了一些问题(rdd.saveAsTextFile(''))。在配置单元中,我会在开头添加一行setfs.s3.canned.acl=BucketOwnerFullControl这将设置正确的权限。对于Spark,我尝试运行:hadoopjar/mnt/var/lib/hadoop/steps/s-3HIRLHJJXV3SJ/script-runner.jar\/home/hadoop/spark/bin/spark-submit--deploy-modecluster--masteryarn-cluster\--conf

hadoop - 在 Windows 7 32 位上安装 Apache Spark

我刚刚开始研究apachespark。我做的第一件事是尝试在我的机器上安装spark。我使用hadoop2.6下载了预构建的spark1.5.2。当我运行sparkshell时出现以下错误java.lang.RuntimeException:java.lang.NullPointerExceptionatorg.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)atorg.apache.spark.sql.hive.client.ClientWrapper.(ClientWrapper.scal

hadoop - Spark : Saving RDD in an already existing path in HDFS

我可以使用saveAsTextFile方法将RDD输出保存到HDFS。如果文件路径已经存在,此方法将抛出异常。我有一个用例,我需要将RDDS保存在HDFS中已有的文件路径中。有没有一种方法可以将新的RDD数据附加到同一路径中已经存在的数据中? 最佳答案 自Spark1.6以来可用的一种可能的解决方案是使用具有text格式和append模式的DataFrames:valoutputPath:String=???rdd.map(_.toString).toDF.write.mode("append").text(outputPath)