python sparksql教程 | sparkSQL将SQL执行结果输出到hdfs上,脚本如何写?
python sparksql教程2020-10-09 01:50:29人已围观
如何向sparksql dataframe添加一个新的函数
创建 SQLContext
Spark SQL 中所有相关的入是 SQLContext 类或者它的子类, 创建 SQLContext 的所有需要仅仅是一个 SparkContext。
使用 Scala 创式如下:
val sc: SparkContext // An existing SparkContext.
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
// this is used to implicitly convert an RDD to a DataFrame.
import sqlContext.implicits._
使用 Java 创建方式如下:
JavaSparkContext sc = ...; // An existing JavaSparkContext.
SQLContext sqlContext = new org.apache.spark.sql.SQLContext(sc);
使用 Python 创建方式如下:
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
除了一个基本的 SQLContext,你也能够创建一个 HiveContext,它支持基本 SQLContext 所支持功能的一个超集。它的额外的功能包括用更完整的 HiveQL 分析器写查询去访问 HiveUDFs 的能力、 从 Hive 表读取数据的能力。用 HiveContext 你不需要一个已经存在的 Hive 开启,SQLContext 可用的数据源对 HiveContext 也可用。HiveContext 分开打包是为了避免在 Spark 构建时包含了所有 的 Hive 依赖。如果对你的应用程序来说,这些依赖不存在问题,Spark 1.3 推荐使用 HiveContext。以后的稳定版本将专注于为 SQLContext 提供与 HiveContext 等价的功能。
用来解析查询语句的特定 SQL 变种语言可以通过 spark.sql.dialect 选项来选择。这个参数可以通过两种方式改变,一种方式是通过 setConf 方法设定,另一种方式是在 SQL 命令中通过 SET key=value 来设定。对于 SQLContext,唯一可用的方言是 “sql”,它是 Spark SQL 提供的一个简单的 SQL 解析器。在 HiveContext 中,虽然也支持”sql”,但默认的方言是 “hiveql”,这是因为 HiveQL 解析器更完整。
sparkSQL将SQL执行结果输出到hdfs上,脚本如何写?
这里需要用到的叫做sqlcmd.exe, 它随SQL server的安装而安装. 该可执行程序的位置在:
C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn
其中xxx是你装的SQL Server的版本号.
Version Number
SQL Server 2005 90
SQL Server 2008 100
在SQL 2014中它的位置在:
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
貌似是跟着Client SDK一起被安装的.
sqlcmd.exe的位置是被加入了环境变量了的, 所以可以在任何路径下直接调用. 可以通过下面的命令来查看环境变量.
Set | more
可以用以下的方式使用sqlcmd:
命令行中直接交互式执行sql语句
命令行中制定所需执行sql语句的脚本文件和输出文件
这里再给出一个sqlcmd中直接运行命令的截图, 除了脚本之外, 这样也可以更直观的与SQL Server进行交互.
sparksql支持python连接吗
支持。
SparkSQL抛弃原有Shark的代码,汲取了Shark的一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等,重新开发SparkSQL。
Spark SQL怎么创建编程创建DataFrame
创建
SQLContext
Spark
SQL
中相关功能的入口点是
SQLContext
类或者它的子
创建
SQLContext
的所有需要仅仅是一个
SparkContext。
使用
Scala
创建如下:
val
sc:
SparkContext
//
An
existing
SparkContext.
val
sqlContext
=
new
org.apache.spark.sql.SQLContext(sc)
//
this
is
used
to
implicitly
convert
an
RDD
to
a
DataFrame.
import
sqlContext.implicits._
使用
Java
创建方式如下:
JavaSparkContext
sc
=
...;
//
An
existing
JavaSparkContext.
SQLContext
sqlContext
=
new
org.apache.spark.sql.SQLContext(sc);
使用
Python
创建方式如下:
from
pyspark.sql
import
SQLContext
sqlContext
=
SQLContext(sc)
除了一个基本的
SQLContext,你也能够创建一个
HiveContext,它支持基本
SQLContext
所支持功能的一个超集。它的额外的功能包括用更完整的
HiveQL
分析器写查询去访问
HiveUDFs
的能力、
从
Hive
表读取数据的能力。用
HiveContext
你不需要一个已经存在的
Hive
开启,SQLContext
可用的数据源对
HiveContext
也可用。HiveContext
分开打包是为了避免在
Spark
构建时包含了所有
的
Hive
依赖。如果对你的应用程序来说,这些依赖不存在问题,Spark
1.3
推荐使用
HiveContext。以后的稳定版本将专注于为
SQLContext
提供与
HiveContext
等价的功能。
用来解析查询语句的特定
SQL
变种语言可以通过
spark.sql.dialect
选项来选择。这个参数可以通过两种方式改变,一种方式是通过
setConf
方法设定,另一种方式是在
SQL
命令中通过
SET
key=value
来设定。对于
SQLContext,唯一可用的方言是
“sql”,它是
Spark
SQL
提供的一个简单的
SQL
解析器。在
HiveContext
中,虽然也支持”sql”,但默认的方言是
“hiveql”,这是因为
HiveQL
解析器更完整。
python spark sql 怎么入门
前段使用了一下google的博客空间,感很一般,所以现在把那几篇文章转过来。
python脚本只需要对python文件做如下操作即可:
在python文件里第一行加上#!
/usr/bin/python,即你的python解释器所在的目录。另外还有一种写法是#!
/usr/bin/env
python
编辑完成python脚本文件后为它加上可执行权限。例如你的python脚本文件叫做runit.py,那么就在shell中输入如下命令:chmod
x
runit.py
之后直接在shell中输入./runit.py就可以执行你的python程序了。
当然这是在linux下的操作,如果想在windows下直接执行python程序,就需要使用py2exe工具将python源程序编译成exe文件了。
版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。