python写sparksql_python sparksql教程 | sparkSQL将SQL执行结果输出到hdfs上,脚本如何写?...

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文件了。

版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值