Spark大数据技术与应用智慧树知到期末考试答案2024年_第1页
Spark大数据技术与应用智慧树知到期末考试答案2024年_第2页
Spark大数据技术与应用智慧树知到期末考试答案2024年_第3页
Spark大数据技术与应用智慧树知到期末考试答案2024年_第4页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spark大数据技术与应用智慧树知到期末考试答案2024年Spark大数据技术与应用下面不属于SparkStreaming基本输入源的是()。

A:文件流B:套接字流C:RDD队列流D:双向数据流答案:双向数据流DataFram的join方法支持的连接类型有()

A:full_outerB:left_outerC:innerD:cross答案:cross###inner###full_outer###left_outer以下哪些属于转换算子()

A:reduce()B:map()C:collect()D:mapValue()答案:map()###mapValue()SparkSQL的SparkSession对象可以通过哪些方法从存放到HDFS上的结构化数据文件创建DataFrame。()

A:read.text()B:read.json()C:read.csv()D:read.load()答案:read.text()###read.csv()###read.json()DataFrame输出数据的jdbc方法可以传入一个Properties对象,一般会将什么参数信息加入这个对象中()

A:表名B:密码C:urlD:用户名答案:url###用户名###密码RDD数据集的五个特性()

A:key-value数据类型的RDD分区器B:每个分区都有一个优先位置列表C:每一个分区都有一个计算函数D:RDD依赖于其他RDD的列表E:分区列表答案:分区列表###每一个分区都有一个计算函数###RDD依赖于其他RDD的列表###key-value数据类型的RDD分区器###每个分区都有一个优先位置列表flatMap算子实现了那种功能()

A:映射转换功能B:过滤功能C:扁平化功能D:去重功能答案:映射转换功能###扁平化功能DataFrame输出数据的jdbc方法需要传入哪些参数()

A:密码B:用户名C:urlD:库名答案:url###用户名###密码StreamingContext的创建有两种方式()

A:通过SparkConf对象完成创建B:使用makeRDD算子创建C:使用textFile算子创建D:需要借助SparkContext对象完成答案:通过SparkConf对象完成创建###需要借助SparkContext对象完成DStream有状态转换操作包括哪两种。()

A:滑动窗口转换操作B:update操作C:updateStateByKey操作D:reduceByKey操作答案:updateStateByKey操作###滑动窗口转换操作SparkStreaming支持多种数据源,可以从()数据源创建DStream

A:RDD队列B:Kafka消息队列等等。C:自定义的数据源D:HDFS文件系统答案:RDD队列###HDFS文件系统###Kafka消息队列等等###自定义的数据源以下关于流数据特征的描述,哪些是正确的。()

A:数据快速持续到达,潜在大小也许是无穷无尽的B:数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序C:数据来源众多,格式复杂D:数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理,要么被丢弃,要么被归档存储答案:数据快速持续到达,潜在大小也许是无穷无尽的###数据来源众多,格式复杂###数据量大,但是不十分关注存储,一旦流数据中的某个元素经过处理,要么被丢弃,要么被归档存储###数据顺序颠倒,或者不完整,系统无法控制将要处理的新到达的数据元素的顺序下列哪些函数可以创建RDD()

A:parallelize()B:makeRDD()C:textFileD:txtFile()答案:makeRDD()###parallelize()###textFile创建StreamingContext有两种方式,是通过()对象完成创建。

A:sparkB:SparkConfC:SparkContextD:StreamingContext答案:SparkConf###SparkContext在RDD读取JSON文件中,导入隐式转换参数formats是下列哪几个方法转化数据所依赖的参数、()

A:parse()B:split()C:extract()D:equals()答案:parse()###extract()下列哪些属于输出函数()

A:saveAsTextFiles(prefix,[suffix])B:foreachRDD(func)C:print()D:countByValueAndWindow(windowLength,slideInterval,[numTasks])答案:print()###saveAsTextFiles(prefix,[suffix])###foreachRDD(func)在内存中创建RDD可以使用下列哪些函数()

A:parallelize()B:textFile()C:paralleliz()D:makeRDD()答案:parallelize()###makeRDD()collectAsList方法与collect方法说法正确的是()

A:collect方法返回的是一个Array数组。B:collectAsList方法返回一个Array数组。C:collect方法返回一个List集合。D:collectAsList方法返回的是一个List集合。答案:collectAsList方法返回的是一个List集合###collect方法返回的是一个Array数组DataFrame数据输出中mode方法的参数为error代表如果指定的位置已有数据则抛出相应的异常。()

A:错B:对答案:对Storm和Flink是完全的纯实时流式计算框架。而SparkStreaming是准实时流式计算框架。()

A:错误B:正确答案:正确DStream本质上是一系列按照时间持续不断产生的RDD,DStream中的每个RDD都包含了一个时间段内的数据。()

A:错误B:正确答案:正确union操作,将源DStream和otherStream的元素联合返回一个新的DStream。()

A:正确B:错误答案:正确foreachRDD函数是DStream提供的一个功能强大的方法,它可以将数据发送到外部系统。()

A:错误B:正确答案:正确sortByKey是对单值类型的数据进行操作的。()

A:错B:对答案:错键值对类型RDD,主要用于完成聚合计算。()

A:错B:对答案:对reduceByKeyAndWindow该函数含义与表5-1中reduceByKey函数一致,只不过对应的数据源不同。reduceByKeyAndWindow的数据源是基于该DStream的窗口长度中的所有数据。()

A:正确B:错误答案:正确DataFrame的col(colName:String)方法可以查询多个字段信息。()

A:对B:错答案:错从内存创建RDD,也就是要把内存中的数据作为处理的数据源()

A:正确B:错误答案:正确DataFrame表示为DataSet[Row],是DataSet的子集。()

A:错B:对答案:对countByKey算子可以统计键值对RDD中每一个key出现的次数,并且把结果保存到一个map集合中。()

A:错误B:正确答案:正确Spark的sbin目录,该目录存放的是启动和停止Saprk相关服务的脚本。()

A:错B:对答案:对groupByKey算子的作用是()

A:只对键值对中的value数据进行操作,不对key值做任何处理B:只对键值对中的key数据进行操作,不对value值做任何处理C:将数据源中的数据,相同key的数据分在一个组中,形成一个二元组.D:对键值对中的value数据进行操作,对key值做聚合运算答案:AI参考:选项C:将数据源中的数据,相同key的数据分在一个组中,形成一个二元组。\n\ngroupByKey是一种在分布式数据结构上进行操作的算子,它主要用于在MapReduce框架中实现键值对的分组。这个操作的作用是将输入数据按照相同的key值进行分组,并将每个分组作为一个二元组输出。也就是说,对于输入的每一组键值对,如果它们的key值相同,那么它们会被放在同一个分组中。这是一种常见的在分布式计算中用于数据聚合和分区的方法。因此,选项C是正确的答案。'DataFrame的col(colName:String)方法返回值类型为()

A:RDD类型B:DataFrame类型C:Array类型D:Column类型答案:AI参考:正确选项是D:Column类型。\n\nDataFrame的col(colName:String)方法用于获取DataFrame中指定名称的列,返回值类型为Column类型。因此,选项D是正确答案。选项A、B、C都不正确,因为它们都不是该方法的返回值类型。'以下被称为过滤算子的是()

A:sampleB:mapC:GolmD:filter答案:AI参考:正确答案是D:filter。\n\n过滤算子是一种用于从输入数据中过滤出满足特定条件的元素的算法。它通常用于处理数据流或连续数据流,以确定哪些元素应该被保留,哪些元素应该被丢弃。\n\n选项A、B和C都不是过滤算子,它们分别表示抽样算子、映射算子和卷积算子。而选项D的“filter”一词恰好表示过滤算子的含义,因此是正确的答案。'借助Schema将RDD转换为DataFrame,哪个不是必要步骤()

A:通过SparkSession对象的create()方法将RDD与Schema整合得到DataFrame。B:通过SparkSession对象的createDataFrame()方法将RDD与Schema整合得到DataFrame。C:将已经存在的RDD借助算子转换为元组或列表形式的RDD。D:使用StructType创建一个和转换得到的RDD的结构匹配的Schema。答案:AI参考:从题目描述来看,选项C:“将已经存在的RDD借助算子转换为元组或列表形式的RDD”不是将RDD转换为DataFrame的必要步骤。这是因为Spark的DataFrame是通过SparkSession对象的createDataFrame()方法,结合RDD和Schema来生成的,而不是通过直接转换已有的RDD为元组或列表。其他选项A、B和D都是将RDD与Schema整合得到DataFrame的必要步骤。因此,正确答案是C。'collect行动算子的作用是()

A:聚合RDD中的所有元素,最终返回一个与RDD数据集中元素类型相同的一个数据B:将两个不同的RDD数据集中的数据进行连接,相同key的value会连接在一起,形成元组C:以数组的形式,返回数据集的所有元素。D:只对键值对中的value数据进行操作,不对key值做任何处理答案:AI参考:正确选项是【A:聚合RDD中的所有元素,最终返回一个与RDD数据集中元素类型相同的一个数据】。\n\ncollect行动算子用于将RDD中的所有元素收集到driver节点,并返回一个包含这些元素的Java、Python或Scala数组,或者在Hadoop模式下返回一个Hadoop的Writable数组。因此,选项A是正确的。选项B和D都是错误的,因为它们都涉及键值对的操作,而collect行动算子不处理键值对。选项C也不完全准确,因为它只是返回数据集的所有元素,而不仅仅是数组形式。'创建DStream,使用()变量获取textFileStream方法,该方法将监视指定的HDFS目录并处理在该目录中创建的任何文件。

A:MapredB:SseC:SscD:Src答案:AI参考:正确选项是C:Ssc。\n\n在SparkStreaming中,DStream是由一个KafkaConsumer、文件系统(如HDFS)或网络流创建的。在创建DStream时,我们通常会用到一个StreamingContext对象(简称Ssc),该对象是SparkStreaming程序的主入口点,用于启动和停止应用程序,以及处理输入数据。\n\n具体到题目中,创建DStream并使用StreamingContext变量获取textFileStream方法,该方法将监视指定的HDFS目录并处理在该目录中创建的任何文件。因此,选项C是正确的。\n\n其他选项如Mapred、Sse、Src等并不是SparkStreaming中用于创建DStream的方法或变量。'saveAsTextFiles方法,它是以()文件形式存储每一批次的DStream数据。

A:TextB:PrefixC:SuffixD:Hadoop答案:AI参考:正确选项是A:Text。\n\nsaveAsTextFiles是SparkStreaming中用于将DStream数据保存为文本文件的方法,它会以文本文件的形式存储每一批次的DStream数据。选项B、C、D都不符合题意。因此,正确选项是A:Text。'在本课程中,启动spark集群的命令是()

A:Start-yarn.shB:Start-spark.shC:start-spark-all.shD:start-dfs.sh答案:AI参考:正确选项是:B:Start-spark.sh。\n\n在Spark集群中,启动命令通常为"Start-spark.sh",这是一个Shell脚本文件,用于启动Spark集群。其他选项中,"Start-yarn.sh"是Hadoop的启动命令,"start-spark-all.sh"和"start-dfs.sh"不是Spark集群的启动命令。因此,选项B是正确答案。'spark要想访问mysql需要拷贝哪个包()

A:commons-dbcp-1.4.jarB:commons-dbutils-1.4.jarC:commons-pool-1.3.jarD:mysql-connector-java-5.1.47.jar答案:AI参考:正确答案是D:mysql-connector-java-5.1.47.jar。这个jar包是Spark访问MySQL所需要的包,所以只需要将它拷贝到Spark的配置路径下就可以实现Spark与MySQL的连接。其他的选项与访问MySQL无关,因此不正确。'parallelize函数的第一个参数表示什么?()

A:boolean类型的值。B:集合C:分区数D:路径答案:AI参考:答案:C:分区数\n\nparallelize函数的第一个参数通常表示要并行化的数据集的分区数。在许多并行计算框架中,parallelize函数用于将数据集划分为多个分区,并为每个分区分配一个线程或进程进行处理。因此,选项C是正确的答案。选项A、B和D都不符合常规用法。'在SparkShell启动过程中,系统自动初始化了一个()对象。

A:SparkStreamingB:SparkSqlC:SparkSessionD:DataFrame答案:AI参考:在SparkShell启动过程中,系统自动初始化了一个SparkSession对象。因此,正确选项是C:SparkSession。SparkSession是Spark2.0以后版本引入的一个新概念,它代表了一个使用Spark的会话,可以用来创建DataFrame或Dataset。在启动SparkShell时,系统会自动创建一个默认的SparkSession,用于执行Shell中的操作。其他选项如SparkStreaming、SparkSql和DataFrame都是在SparkSession的基础上进一步使用的对象。'DataFrame的select方法和selectExpr方法说法正确的是()

A:select方法不能传入多个字段B:select方法可以直接对指定字段调用UDF函数C:selectExpr方法可以指定字段的别名D:select方法可以对指定字段进行特殊处理答案:AI参考:正确选项是:C:selectExpr方法可以指定字段的别名。\n\n对于DataFrame的select方法和selectExpr方法,它们都可以用于选择DataFrame中的数据,但是用法有所不同。select方法可以直接传入字段名来选择数据,而selectExpr方法则可以通过指定字段的别名来选择数据。因此,选项C是正确的说法。选项A和B的说法不准确,选项D则没有明确说明对指定字段进行特殊处理的具体内容。'下列哪个数据结构拥有Schema信息()

A:ListB:样例类C:RDDD:DataFrame答案:AI参考:正确答案是D:DataFrame。\n\n在数据结构中,拥有Schema信息的是DataFrame,它是一种用于处理数据的结构化数据集,具有明确的Schema信息,包括列名、数据类型等。而List、样例类和RDD等数据结构通常没有明确的Schema信息。因此,选项D是正确答案。'在flatMap算子中传递一个匿名函数,通过匿名函数调用split方法,可以()

A:对数据进行去重B:对数据进行过滤C:对数据进行切分D:将数据进行分区答案:AI参考:在flatMap算子中传递一个匿名函数,通过匿名函数调用split方法,可以对数据进行切分。\n\nflatMap是Kotlin高阶函数,用于将一个Kotlin集合(或可迭代的对象)转换成一个新的集合,然后与另一个可迭代的对象“flat”在一起。在flatMap中,可以通过传递一个函数作为参数,对输入数据进行转换。\n\nsplit方法通常用于将字符串按照指定的分隔符进行切分,得到一个字符串列表。因此,在flatMap中通过匿名函数调用split方法,可以将数据进行切分。\n\n因此,答案是C:对数据进行切分。'创建()对象,是SparkStreaming流处理的编程入口点。

A:DStreamB:SparkStreamingC:StreamingContextD:SparkConf答案:AI参考:正确选项是【C:StreamingContext】\n\n创建StreamingContext对象是SparkStreaming流处理的编程入口点。StreamingContext是SparkStreaming的一个重要的内部类,它管理着一个时间窗口和一系列流式数据的输入输出。因此,在SparkStreaming程序中,必须首先创建StreamingContext对象。其他选项A、B、D都与SparkStreaming的流处理无关。'DataFram的join方法传入的参数哪个是错误的()

A:连接类型B:可以多个连接字段C:只能传入一个连接字段D:一个DataFrame答案:AI参考:在DataFram的join方法中,传入的参数应该是多个连接字段,因此选项C是错误的。join方法需要指定要连接的两个DataFrame的字段,这些字段可以是多个,以便在连接时能够将它们匹配起来。选项A、B和D都是正确的参数,它们分别是连接类型、连接字段和要连接的DataFrame本身。因此,正确答案是C:只能传入一个连接字段。'下列哪个方法不能获取到DataFrame的第一行数据()

A:first()B:take()C:head(1)D:head()答案:AI参考:正确选项是B:take()。\n\ntake()方法是Pandas库中DataFrame对象的一个方法,用于获取DataFrame的某一行或某一列的数据。但是,take()方法只能获取到DataFrame的第一列数据,而不能获取到第一行数据。因此,B选项是错误的。\n\n其他选项中,A:first()方法可以获取到DataFrame的第一行数据;C:head(1)和D:head()方法都可以获取到DataFrame的前五行数据,但不会跳过第一行。因此,这些选项都是正确的。'DataFrame的哪个方法容易造成内存溢出()

A:takeB:collectC:firstD:show答案:AI参考:正确选项是【A:take】\n\n在DataFrame中,take方法容易造成内存溢出,因为它直接将整个DataFrame加载到内存中,如果数据量过大,就会导致内存溢出。collect方法也会将整个DataFrame加载到内存中,但它在处理大数据时通常更加高效。first方法和show方法不会造成内存溢出,因为它们只读取DataFrame中的一小部分数据。因此,答案是A:take。'SparkSQL特点正确的是()

A:提供了统一的数据访问B:标准化数据库连接C:容易集成D:不兼容Hive答案:AI参考:正确选项为:A、提供了统一的数据访问;C、容易集成。\n\nSparkSQL是Spark生态系统中的一个组件,它提供了统一的数据访问接口,支持多种数据源和数据格式,如Parquet、JSON、CSV等。它还提供了丰富的SQL查询功能和DataFrame/DatasetAPI,使得用户可以方便地进行数据分析和处理。此外,SparkSQL还易于与其他组件集成,如SparkStreaming、MLlib等。\n\n选项B、标准化数据库连接和D、不兼容Hive都是不正确的,因为SparkSQL是Spark生态系统中的一个组件,它有自己的数据访问和数据处理方式,与数据库和Hive并不是完全一样的。但它提供了统一的接口和API,使得用户可以方便地进行数据分析和处理,同时也可以与其他组件进行集成。'在RDD中,窄依赖的特点为()

A:父RDD的每个分区的数据对应子RDD的多个分区,既一分区对多分区。B:父RDD的每个分区的数据对应子RDD的一个分区,既一分区对一分区。C:多个父RDD的分区对应于多个子RDD的分区,既多分区对多分区D:多个父RDD的分区对应于一个子RDD的分区,既多分区对一分区答案:AI参考:正确选项为:A:父RDD的每个分区的数据对应子RDD的多个分区,既一分区对多分区。\n\n窄依赖的特点是父RDD的每个分区的数据对应子RDD的多个分区,即一个分区对多个分区,这种依赖关系会导致在分区级别的shuffle减少,从而提升任务执行效率。而其他选项B、C、D描述的情况并不符合窄依赖的特点。'在SparkShell中输入createtablestudent(nameString,idInt)可以创建student表。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论