06 Spark SQL 及其DataFrame的基本操作

1.Spark SQL出现的 原因是什么?

答:(1)Shark执行计划优化完全依赖于Hive,不便于添加新的优化策略。

  (2)Spark是线程级并行,MapReduce是进程级并行,因此,Spark在兼容Hive的实现上存在线程安全问题,导致Shark不得不使用另外一套独立维护的、打了补丁的Hive源码分支。

  (3)Shark的实现继承了大量的Hive代码,因而给优化和维护带来了大量的麻烦,特别是基于MapReduce设计的部分,成为整个项目的瓶颈。

2.用spark.read 创建DataFrame

答:(1)代码

06 Spark SQL 及其DataFrame的基本操作

 

   (2)运行结果

06 Spark SQL 及其DataFrame的基本操作

3.观察从不同类型文件创建DataFrame有什么异同?

答:(1)通过txt文本文件创建的DataFrame是一个键值对,键是“value”,值是整个文本文件的内容,类型为string类型;

  (2)通过json文件创建的DataFrame可以是若干个键值对,键值对的键值类型与json文件内容一一对应。

4.观察Spark的DataFrame与Python pandas的DataFrame有什么异同?

答:(1)代码

06 Spark SQL 及其DataFrame的基本操作

 

   (2)运行结果

06 Spark SQL 及其DataFrame的基本操作

06 Spark SQL 及其DataFrame的基本操作

上一篇:Spark SQL 及其DataFrame的基本操作


下一篇:MySQL的四种隔离级别介绍