【实例简介】首先安装WPS,然后运行代码就可。

【实例截图】

【核心代码】

wps2pdf

├── Program.cs
├── Properties
│ └── AssemblyInfo.cs
├── Wps2Pdf.cs
├── wps2pdf.csproj
└── wps2pdf.sln

1 directory, 5 files

文件:n459.com/file/25127180-478966306

以下内容无关:

-------------------------------------------分割线---------------------------------------------

Spark SQL 表的命名方式是db_name.table_name,只有数据库名称和数据表名称。如果没有指定db_name而直接引用table_name,实际上是引用default 数据库下的表。在Spark SQL中,数据库只是指定表文件存储的路径,每个表都可以使用不同的文件格式来存储数据,从这个角度来看,可以把database看作是Databricks 表的上层目录,用于组织数据表及其文件。

在python语言环境中,可以使用 %sql 切换到SQL命令模式:

%sql
一,数据库
常用的数据库命令,切换当前的数据库、显示数据库列表、表列表、视图列表和列信息:

use db_name
show databases
show tables [in db_name]
show views [in db_name]
show columns in db_name.table_name
1,创建数据库

创建数据库,通过LOCATION 指定数据库文件存储的位置:

CREATE { DATABASE | SCHEMA } [ IF NOT EXISTS ] database_name
[ LOCATION database_directory ]
LOCATION database_directory:指定存储数据库文件系统的路径,如果底层的文件系统中不存在该路径,那么需要先创建该目录。如果未指定LOCATION参数,那么使用默认的数据仓库目录来创建数据库,默认的数据仓库目录是由静态配置参数spark.sql.warehouse.dir指定的。

2,查看数据库的描述

{ DESC | DESCRIBE } DATABASE [ EXTENDED ] db_name
extended 选项表示查看数据库的扩展属性。

3,删除数据库

DROP { DATABASE | SCHEMA } [ IF EXISTS ] dbname [ RESTRICT | CASCADE ]
IF EXISTS:该选项表示在数据库不存在时,DROP操作不会引发异常。
RESTRICT:该选项表示不能删除非空数据库,并在默认情况下启用。
CASCADE:该选项表示删除数据库中所有关联的表和函数。

二,创建表
表有两种作用域:全局和本地,全局表可以在所有的Cluster中引用,而本地表只能在本地的Cluster中引用,被称作临时视图。用户可以从DBFS中的文件或存储在任何受支持数据源中的数据来填充表。

在创建表时,需要指定存储表数据的文件格式,以及表数据文件存储的位置。

1,使用数据源创建表(标准的CREATE TABLE命令)

创建表的语法,注意:如果数据库中已存在同名的表,则会引发异常。

复制代码
CREATE TABLE [ IF NOT EXISTS ] [db_name].table_name
[ ( col_name1 col_type1, … ) ]
USING data_source
[ OPTIONS ( key1=val1, key2=val2, … ) ]
[ PARTITIONED BY ( col_name1, col_name2, … ) ]
[ CLUSTERED BY ( col_name3, col_name4, … )
[ SORTED BY ( col_name [ ASC | DESC ], … ) ]
INTO num_buckets BUCKETS ]
[ LOCATION path ]
[ AS select_statement ]
复制代码
参数注释:

IF NOT EXISTS:如果数据库中已存在同名的表,则不会执行任何操作。
USING data_source:用于表的文件格式,data_source 必须是 TEXT、CSV、JSON、JDBC、PARQUET、ORC、HIVE、DELTA 或 LIBSVM 中的一个,或 org.apache.spark.sql.sources.DataSourceRegister 的自定义实现的完全限定的类名。支持使用 HIVE 创建 Hive SerDe 表。 你可以使用 OPTIONS 子句指定 Hive 特定的 file_format 和 row_format,这是不区分大小写的字符串映射。选项键为 FILEFORMAT、INPUTFORMAT、OUTPUTFORMAT、SERDE、FIELDDELIM、ESCAPEDELIM、MAPKEYDELIM 和 LINEDELIM。
OPTIONS:用于优化表的行为或配置 HIVE 表的表选项。
PARTITIONED BY (col_name1, col_name2, …):按指定的列对创建的表进行分区,将为每个分区创建一个目录。
CLUSTERED BY col_name3, col_name4, …):按照指定的列,把表中的分区分割到固定数目的 Bucket中,该选项通常与分区操作配合使用。delta格式的文件不支持该子句。
SORTED BY:数据在buckets中的排序方式,默认是升序ASC。
INTO num_buckets BUCKETS:bucket是一个优化技术,使用bucket(和bucket 列)来确定数据的分区,并避免数据洗牌(data shuffle),使数据变得有序。
LOCATION path:用于存储表数据的目录,可以指定分布式存储上的路径。
AS select_statement:使用来自 SELECT 语句的输出数据填充该表。
2,使用Delta Lake(增量Lake)创建表

用户可以使用标准的CREATE TABLE命令来创建存储在delta lake中的表,除了标准的创建delta table的命令之外,还可以使用以下的语法来创建delta表:

CREATE [OR REPLACE] TABLE table_identifier[(col_name1 col_type1 [NOT NULL], …)]
USING DELTA
[LOCATION ]
table_identifier 有两种格式:

[database_name.] table_name: 表的名称
delta.delta_file_path :在指定的路径上创建表,而不在元存储(metastore)中创建条目。
LOCATION :如果指定的 LOCATION 已包含增量 lake 中存储的数据,Delta lake 会执行以下操作:

如果仅指定了表名称和位置,例如:

CREATE TABLE events
USING DELTA
LOCATION ‘/mnt/delta/events’
Hive 元存储中的表会自动继承现有数据的架构、分区和表属性,此功能可用于把数据“导入”到元存储(metastore)中。

如果你指定了任何配置(架构、分区或表属性),那么 Delta Lake 会验证指定的内容是否与现有数据的配置完全匹配。如果指定的配置与数据的配置并非完全匹配,则 Delta Lake 会引发一个描述差异的异常。

3,创建表的示例

复制代码
–Use data source
CREATE TABLE student (id INT, name STRING, age INT) USING PARQUET;

–Use data from another table
CREATE TABLE student_copy USING PARQUET
AS SELECT * FROM student;

–Omit the USING clause, which uses the default data source (parquet by default)
CREATE TABLE student (id INT, name STRING, age INT);

–Create partitioned and bucketed table
CREATE TABLE student (id INT, name STRING, age INT)
USING PARQUET
PARTITIONED BY (age)
CLUSTERED BY (Id) INTO 4 buckets;
复制代码
三,和数据源的交互
数据源表的作用类似于指向基础数据源的指针,例如,您可以使用JDBC数据源在Azure Databricks中创建表foo,该表指向MySQL中的表bar。当读写表foo时,实际上就是读写表bar。

通常,CREATE TABLE会创建一个“指针”,并且必须确保它指向的对象是存在的,一个例外是文件源,例如Parquet,JSON,如果您未指定LOCATION选项,那么Azure Databricks会创建一个默认表位置。

对于CREATE TABLE AS SELECT,Azure Databricks使用select查询的输出数据来覆盖(overwrite)底层的数据源,以确保创建的表包含与输入查询完全相同的数据。

四,插入数据
用户可以向表种插入数据,也可以向Spark支持的文件中插入数据。

1,向表中插入数据

使用INSERT INTO 命令向表中追加数据,不会影响表中的现有数据;使用INSERT OVERWRITE 命令,会覆盖表中的现有数据。

INSERT INTO [ TABLE ] table_identifier [ partition_spec ]
{ VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ] | query }

INSERT OVERWRITE [ TABLE ] table_identifier [ partition_spec [ IF NOT EXISTS ] ]
{ VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ] | query }
参数注释:

table_identifier:[database_name.] table_name:表名称,可选择使用数据库名称进行限定。delta.<路径到表> :现有增量表的位置。
partition_spec:一个可选参数,用于指定分区的键/值对的逗号分隔列表。语法:PARTITION ( partition_col_name = partition_col_val [ , … ] )
值 ( {value |NULL} [,…] ) [, ( … ) ]:要插入的值。 显式指定的值或 NULL 。 使用逗号分隔子句中的每个值。 您可以指定多个值集来插入多个行。
query:生成要插入的行的查询,可用的查询格式:SELECT语句、TABLE语句、FROM语句
举个例子,创建表之后,通过VALUES子句向表中插入少量的值,也可以通过 SELECT 子句、TABLE和FROM向表中批量插入数据。

复制代码
CREATE TABLE students (name VARCHAR(64), address VARCHAR(64), student_id INT)
USING PARQUET PARTITIONED BY (student_id);

INSERT INTO students VALUES
(‘Amy Smith’, ‘123 Park Ave, San Jose’, 111111);

INSERT INTO students VALUES
(‘Bob Brown’, ‘456 Taylor St, Cupertino’, 222222),
(‘Cathy Johnson’, ‘789 Race Ave, Palo Alto’, 333333);

INSERT INTO students PARTITION (student_id = 444444)
SELECT name, address FROM persons WHERE name = “Dora Williams”;

INSERT INTO students TABLE visiting_students;

INSERT INTO students
FROM applicants SELECT name, address, id applicants WHERE qualified = true;
复制代码
2,向文件中插入数据

向文件中插入数据时,只能用新数据覆盖现有的数据:

INSERT OVERWRITE [ LOCAL ] DIRECTORY [ directory_path ]
USING file_format [ OPTIONS ( key = val [ , … ] ) ]
{ VALUES ( { value | NULL } [ , … ] ) [ , ( … ) ] | query }
参数注释:

directory_path:目标目录,还可以使用在中指定 OPTIONS path 。 LOCAL关键字用于指定目录位于本地文件系统中。
file_format:要用于插入的文件格式。 有效选项包括 TEXT 、 CSV 、 JSON 、 JDBC 、 PARQUET 、、、或的 ORC HIVE LIBSVM 自定义实现的完全限定类名 org.apache.spark.sql.execution.datasources.FileFormat 。
OPTIONS ( key = val [,…] ):指定用于写入文件格式的一个或多个选项。

借助WPS将Word文档转换为PPT文档相关推荐

  1. 转换工具推荐:如何将PDF文档转换为PPT演示文稿

    随着科技的不断进步和发展,许多人们对于电子文档的使用和需求也日益增长.其中,PDF文档是一种非常常见的文档格式,由于其方便易用和可靠性,得到了广泛的应用.但是,在某些情况下,我们可能需要将PDF文档转 ...

  2. 批量修改 Word 、Excel、PPT 文档中的标题、作者、版本号、公司、创建时间等元数据

    概要:「我的ABC软件工具箱」提供了强大的修改 Office 文档元数据的功能,包括常见的作者.版本号.公司.创建时间.修改时间等这些信息.支持的文档格式有 Word .Excel.PPT,既能够对原 ...

  3. 将word文档转换为html文档,将Word文档转换为HTML文档的工具—GT—HTML

    差翠啭颦 删 将Word 0| ) / 文格转损为j『了 张 翅 张春明' 几年前,若要访问lntexnet上的信息.皿J『只能采用命夸行 :弑 进行操作.这对于大多敲非计算机专业人员来说,纷繁复 杂 ...

  4. 批量清空 Word 、Excel、PPT 文档中的标题、作者、版本号、公司、创建时间等元数据

    概要:「我的ABC软件工具箱」提供了强大的清空 Office 文档元数据的功能,包括常见的作者.版本号.公司.创建时间.修改时间等这些信息.支持的文档格式有 Word .Excel.PPT,能够一键对 ...

  5. c#中使用XSLT将xml文档转换为html文档方法

    c#使用XSLT将xml文档转换为html文档 使用xslt可以将xml文档转成html,如下c#函数: 需要引用下面的命名空间: using System.Xml; using System.Xml ...

  6. c# 修改xslt并转为html,c#使用XSLT将xml文档转换为html文档

    c#使用XSLT将xml文档转换为html文档 使用xslt可以将xml文档转成html,如下c#函数: 需要引用下面的命名空间: using System.Xml; using System.Xml ...

  7. 谷歌Chrome浏览器内直接打开编辑保存 Word、Excel、PPT 文档,可离线部署!

    谷歌Chrome经过开发团队不断优化,凭借运行界面简单,打开速度最快及扩展插件众多,Chrome已经成为了世界上最受欢迎的浏览器.不过有一点非常可惜,由于微软Office不是开源程序,所以Chrome ...

  8. 【解决打开远程共享目录中的word、excel、ppt文档失败】

    环境:windows 10   office2016 问题描述:远程打开远程服务器中的共享目录中的word.excel.ppt文件打开失败,显示文件已损坏.但在远程服务器中可以正常打开,文件本身没有问 ...

  9. 安卓内部加载word,pdf,ppt文档视频

    1.官网下载所需SDK   腾讯TBS服务官网介绍   下载第一个就行 2.导入jar包 3.设置ndk支持 x5暂时不提供64位so文件,为了保证64位手机能正常加载x5内核,进行以下两项设置:  ...

最新文章

  1. 鼠标右击 html5,认识HTML--写出第一个简易网页 -------16岁的小前端
  2. APUE读书笔记-12线程控制-04同步属性
  3. 2018.08.04 cogs2633. [HZOI 2016]数列操作e(线段树)
  4. c++矩阵类_Python线性代数学习笔记——矩阵的基本运算和基本性质,实现矩阵的基本运算...
  5. /usr/bin被删除的操作
  6. php后台接受上传图片
  7. cppunit在vs2008下使用的环境搭建
  8. 淘淘商城购物车服务和下单流程
  9. jquery mini下载_【芒果tv湖南卫视直播】-芒果TV播放器下载v6.3.4 官方正式版
  10. 华为数据治理及数据分类管理实践
  11. 投影仪光源与亮度科普
  12. app内录屏开发 ios_iOS端屏幕录制Replaykit项目实践
  13. Markdown懒办法排版微信公众号文章
  14. python爬虫学习笔记 3.9 (了解参考:训练Tesseract)
  15. 如有问题,请及时联系 || 如有不足,请批评指出,一定会虚心改正 || 如有好的意见 ,欢迎下面留言
  16. 2022前端面试必问的几个小问题,你学费了吗?
  17. 吃透Chisel语言.33.Chisel进阶之硬件生成器(二)——Chisel组合逻辑电路生成:以BCD编码表为例
  18. C++推箱子小游戏(源码)
  19. aspx连接mysql木马_让你变成ASP木马高手_安全教程_脚本之家
  20. text/template与html/template的区别

热门文章

  1. 使用rotate()来做一个3d贺卡
  2. (转)sqlserver 数据恢复方法
  3. 机器翻译领域最重要的论文和学术文献目录清单(清华大学NLP组)
  4. 无题--仅以此文来总结我过去的五年
  5. QEMU中的内存API(2)
  6. 假设检验:如何理解单侧、双侧检验的拒绝域
  7. 计算机用鼠标画图,在电脑上用鼠标画画用那个软件好
  8. C#插件开发之带控件的插件开发(基础篇)
  9. ROS小车基于yocs_smoother_velocity做速度平滑处理
  10. 大数据之电信项目架构