草庐IT

spark sql

全部标签

(二)PySpark3:SparkSQL编程

目录一、SparkSQL介绍二、创建DataFrame1、通过ToDF方法2、通过createDataFrame方法3、通过读取文件或数据库三、保存DataFrame四、DataFrameAPI1、显示数据2、统计信息3、类RDD操作4、类Excel操作5、类SQL表操作五、DataFrame+SQL1、注册视图2、操作Hive表六、总结 PySpark系列文章:(一)PySpark3:安装教程及RDD编程(二)PySpark3:SparkSQL编程(三)PySpark3:SparkSQL40题(四)PySpark3:Mlib机器学习实战-信用卡交易数据异常检测一、SparkSQL介绍Spar

Hive/SparkSQL中Map、Array的基本使用和转换

一、Map1.构建语法:map(key1,value1,key2,value2,…)说明:根据输入的key和value对构建map类型-->1.一般创建方法selectmap('key1_name','张三','key2_age',20)asmap_col--结果:{"key1_name":"张三","key2_age":"20"}-->2.根据SQL查询结果构建mapselectmap('k_name',name,'k_age',age)asmap_colfrom(select'张三'asname,23asageunionselect'李四'asname,24asageunionselect

java - SparkSQL 并在 Java 中的 DataFrame 上爆炸

有没有一种简单的方法如何在SparkSQLDataFrame的数组列上使用explode?在Scala中相对简单,但是在Java中这个功能似乎不可用(如javadoc中所述)。一种选择是在查询中使用SQLContext.sql(...)和explode函数,但我正在寻找更好、更简洁的方法.DataFrames是从parquet文件中加载的。 最佳答案 我以这种方式解决了它:假设您有一个数组列,其中包含名为“职位”的职位描述,每个人都有“全名”。然后你从初始模式中得到:root|--fullName:string(nullable=t

Windows下使用hadoop+hive+sparkSQL

文章目录Windows下使用hadoop+hive+sparkSQL一、Java安装1.1下载1.2配置java环境二、Hadoop安装2.1下载Hadoop安装包2.2配置环境变量2.3安装微软驱动2.4配置已经编译好的window平台的hadoop2.5修改hadoop配置2.6格式化NameNode2.7启动hadoop三、安装Scala3.1下载Scala安装包3.2配置环境变量3.3测试四、Spark安装4.1下载Spark安装包4.2配置环境变量4.3测试4.4添加MySQL驱动五、MySQL安装5.1下载MySQL安装包5.2配置MySQL5.3配置环境变量5.4获取初始密码5.

【Spark精讲】一文讲透SparkSQL物理执行计划

SparkSQL整体计划生成流程大体分三步:(1)由SparkSqlParser中的AstBuilder执行节点访问,将语法树的各种Context节点转换成对应的LogicalPlan节点,从而成为一棵未解析的逻辑算子树(UnresolvedLogicalPlan),此时的逻辑算子树是最初形态,不包含数据信息与列信息等。(2)由Analyzer将一系列的规则作用在UnresolvedLogicalPlan上,对树上的节点绑定各种数据信息,生成解析后的逻辑算子树(AnalyzedLogicalPlan)。(3)由SparkSQL中的优化器(Optimizer)将一系列优化规则作用到上一步生成的逻

SparkSQL和Hive语法差异

SparkSQL和Hive语法差异1、仅支持HiveSparkSQL关联条件on不支持函数rand()创建零时表时,Spark不支持直接赋值nullSpark无法读取字段类型为void的表SparkSQL中如果表达式没有指定别名,SparkSQL会将整个表达式作为别名,如果表达式中包含特殊字符(如逗号)。则CTAS建表会失败2、仅支持SparkSQLSparkSQL允许在joinon条件中使用or等不等式值关联语句,Hive中不允许,只能用等值关联3、相同函数差异Spark运行时用到的hash函数,与hive的哈希算法不同,如果使用hash(),结果和hive的hash()会有差异Hive和s

【spark床头书系列】SparkSQL性能调优官网权威资料

SparkSQL性能调优官网权威资料点击这里也可看全文文章目录在内存中缓存数据其他配置选项SQL查询的连接策略Hints提示SQL查询的合并提示自适应查询执行合并后洗牌分区拆分倾斜的洗牌分区将排序合并join连接转换为广播连接将排序合并join连接转换为随机哈希连接优化倾斜join连接其他Hints描述语法分区提示分区提示类型示例连接提示连接提示类型示例参考链接对于某些工作负载,可以通过将数据缓存在内存中或打开一些实验选项来提高性能。在内存中缓存数据SparkSQL可以使用内存中的列式格式缓存表格,通过调用spark.catalog.cacheTable("tableName")或dataFr

Spark---SparkSQL介绍

一、SparkSQL介绍1、SharkShark是基于Spark计算框架之上且兼容Hive语法的SQL执行引擎,由于底层的计算采用了Spark,性能比MapReduce的Hive普遍快2倍以上,当数据全部load在内存的话,将快10倍以上,因此Shark可以作为交互式查询应用服务来使用。除了基于Spark的特性外,Shark是完全兼容Hive的语法,表结构以及UDF函数等,已有的HiveSql可以直接进行迁移至Shark上Shark底层依赖于Hive的解析器,查询优化器,但正是由于SHark的整体设计架构对Hive的依赖性太强,难以支持其长远发展,比如不能和Spark的其他组件进行很好的集成,

python - Pyspark sparkSql 问题

我正在使用clouderavm10.0,spark版本为1.6。登录pyspark控制台后,我正在尝试以下语句从配置单元中获取数据sqlContext.sql("select*from/user/hive/warehouse/default.party").show()我收到下面给出的错误。Traceback(mostrecentcalllast):File"",line1,inFile"/usr/lib/spark/python/pyspark/sql/context.py",line580,insqlreturnDataFrame(self._ssql_ctx.sql(sqlQue

json - 使用 sparksql 访问嵌套 json 数据的子字段

我正在对hadoop作业历史文件日志数据进行探索性数据分析。下面给出的是用于分析的示例数据{"type":"AM_STARTED","event":{"org.apache.hadoop.mapreduce.jobhistory.AMStarted":{"applicationAttemptId":"appattempt_1450790831122_0001_000001","startTime":1450791753482,"containerId":"container_1450790831122_0001_01_000001","nodeManagerHost":"centos6