当前位置: 首页 > news >正文

网站建设需求分析的功能百度站长工具seo查询

网站建设需求分析的功能,百度站长工具seo查询,wordpress文章图片显示不出,淘宝运营培训班多少钱【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 Spark本地模式安装_spark3.2.2本地模式安装-CSDN博客 DML(Data Manipulation Language,数据操作语言)操作主要用来对…

【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客

《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书

Spark本地模式安装_spark3.2.2本地模式安装-CSDN博客

DML(Data Manipulation Language,数据操作语言)操作主要用来对数据进行插入、更新和删除操作。本节主要介绍Spark SQL中的DML操作。

Spark SQL提供了一个命令行工具,可以让用户直接通过命令行运行SQL查询。Spark SQL可以兼容Hive,以便Spark SQL支持Hive表访问、UDF(用户自定义函数)以及Hive查询语言(HiveQL/HQL)。

若要使用Spark SQL CLI的方式访问和操作Hive表数据,需要对Spark SQL进行如下所示的环境配置,将Spark SQL连接到一个部署好的Hive上。

(1)将hive-site.xml复制到/home/hadoop/app/spark/conf/目录下。

(2)在/home/hadoop/app/spark/conf/spark-env.sh文件中配置MySQL驱动。

将MySQL驱动复制到所有节点的Spark安装包的jars目录下,并在/home/hadoop/app/spark/ conf/spark-env.sh末尾添加以下内容:

export SPARK_CLASSPATH=/home/hadoop/app/spark/jars/mysl-connector-java-5.1.32.jar

然后,启动MySQL服务。

(3)启动 Hive的metastore服务:hive–service metastore &。

(4)进入/home/hadoop/app/spark/sbin/目录,执行./start-all.sh,启动Spark。

(5)进入/home/hadoop/app/spark/bin目录,执行./spark-sql,开启Spark SQL CLI。

spark-sql本质上是通过spark-submit调用Spark SQL的API,每个spark-sql单独启动一个应用。

一旦进入Spark SQL CLI,就可以执行SQL语句。在DML语句中,通过建表语句中的Using子句来指定具体的数据源类型。如果没有通过Using指定,则默认是通过Hive建表,相当于直接通过Spark SQL来操作Hive表的数据。

5.2.1  插入数据

INSERT语句将新行插入表中或覆盖表中的现有数据。插入的行可以由值表达式或查询结果指定。

1. 使用VALUES子句进行单行插入
CREATE TABLE students (name VARCHAR(64), address VARCHAR(64))USING PARQUET PARTITIONED BY (student_id INT);
INSERT INTO students VALUES('Amy Smith', '123 Park Ave, San Jose', 111111);SELECT * FROM students;
+---------+----------------------+----------+
|     name|    address           |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

2. 使用VALUES子句进行多行插入

INSERT INTO students VALUES('Bob Brown', '456 Taylor St, Cupertino', 222222),('Cathy Johnson', '789 Race Ave, Palo Alto', 333333);SELECT * FROM students;
+-------------+------------------------+----------+
|         name|                 address|student_id|
+-------------+------------------------+----------+
|    Amy Smith|  123 Park Ave, San Jose|    111111|
+-------------+------------------------+----------+
|    Bob Brown|456 Taylor St, Cupertino|    222222|
+-------------+------------------------+----------+
|Cathy Johnson| 789 Race Ave, Palo Alto|    333333|
+--------------+-----------------------+----------+
3. 使用SELECT语句插入数据

假设已经创建了一张persons表,里面包含两条数据:

SELECT * FROM persons;
+-------------+--------------------------+---------+
|         name|                   address|      ssn|
+-------------+--------------------------+---------+
|Dora Williams|134 Forest Ave, Menlo Park|123456789|
+-------------+--------------------------+---------+
|  Eddie Davis|   245 Market St, Milpitas|345678901|
+-------------+--------------------------+---------+INSERT INTO students PARTITION (student_id = 444444)SELECT name, address FROM persons WHERE name = "Dora Williams";

使用SELECT语句插入一条数据,查询结果如下:

SELECT * FROM students;
+-------------+--------------------------+----------+
|         name|                   address|student_id|
+-------------+--------------------------+----------+
|    Amy Smith|    123 Park Ave, San Jose|    111111|
+-------------+--------------------------+----------+
|    Bob Brown|  456 Taylor St, Cupertino|    222222|
+-------------+--------------------------+----------+
|Cathy Johnson|   789 Race Ave, Palo Alto|    333333|
+-------------+--------------------------+----------+
|Dora Williams|134 Forest Ave, Menlo Park|    444444|
+-------------+--------------------------+----------+
4. 使用TABLE语句插入数据

提前创建一张表visiting_students,插入两条数据,查询结果显示如下:

SELECT * FROM visiting_students;
+-------------+---------------------+----------+
|         name|              address|student_id|
+-------------+---------------------+----------+
|Fleur Laurent|345 Copper St, London|    777777|
+-------------+---------------------+----------+
|Gordon Martin| 779 Lake Ave, Oxford|    888888|
+-------------+---------------------+----------+

然后利用Table语句将visiting_students表的数据插入students表中。注意,这里不是覆盖,而是追加数据。

INSERT INTO students TABLE visiting_students;SELECT * FROM students;
+-------------+--------------------------+----------+
|         name|                   address|student_id|
+-------------+--------------------------+----------+
|    Amy Smith|    123 Park Ave, San Jose|    111111|
+-------------+--------------------------+----------+
|    Bob Brown|  456 Taylor St, Cupertino|    222222|
+-------------+--------------------------+----------+
|Cathy Johnson|   789 Race Ave, Palo Alto|    333333|
+-------------+--------------------------+----------+
|Dora Williams|134 Forest Ave, Menlo Park|    444444|
+-------------+--------------------------+----------+
|Fleur Laurent|     345 Copper St, London|    777777|
+-------------+--------------------------+----------+
|Gordon Martin|      779 Lake Ave, Oxford|    888888|
+-------------+--------------------------+----------+
5. 使用列列表插入数据
INSERT INTO students (address, name, student_id) VALUES('Hangzhou, China', 'Kent Yao', 11215016);SELECT * FROM students WHERE name = 'Kent Yao';
+---------+----------------------+----------+
|     name|               address|student_id|
+---------+----------------------+----------+
|Kent Yao |       Hangzhou, China|  11215016|
+---------+----------------------+----------+

5.2.2  加载数据

LOAD DATA语句将数据从用户指定的目录或文件加载到Hive表中。如果指定了目录,则加载该目录中的所有文件;如果指定了文件,则仅加载单个文件。此外,该LOAD DATA语句还采用可选的分区规范。当指定分区时,数据文件(当输入源是目录时)或单个文件(当输入源是文件时)被加载到目标表的分区中。

如果该表已缓存,则该命令会清除该表的缓存数据以及引用该表的所有依赖项。下次访问表或依赖项时,缓存将被延迟填充。

LOAD DATA语句的格式如下:

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_identifier [ partition_spec ]

下面举例说明加载数据的用法。

首先,创建表students,并添加一条数据:

CREATE TABLE students (name VARCHAR(64), address VARCHAR(64))USING HIVE PARTITIONED BY (student_id INT);
INSERT INTO students VALUES('Amy Smith', '123 Park Ave, San Jose', 111111);SELECT * FROM students;
+---------+----------------------+----------+
|     name|    address           |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

在Spark SQL中,可以使用CREATE TABLE语句结合USING HIVE选项,来创建一个指向Hive表的Spark SQL表。这允许我们利用Spark SQL进行查询,但数据和元数据仍然存储在Hive中。示例代码如下:

CREATE TABLE my_spark_table
USING HIVE
OPTIONS (tableName "my_hive_table"
)

在这个例子中,my_spark_table是在Spark SQL中创建的表的名称,而my_hive_table是Hive中已存在的表的名称。当查询my_spark_table时,Spark SQL会查询Hive中的my_hive_table表。

接下来用Spark SQL创建一张表test_load,该表的数据和元数据会指向Hive中。最后将students表中的数据加载到test_load表中。

CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;
LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;SELECT * FROM test_load;
+---------+----------------------+----------+
|     name|            address   |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

如何优化Spark SQL中的DML操作,以提升大数据分析性能,尤其是在高并发插入和更新操作场景下?

在Spark SQL中优化DML操作,尤其是高并发的插入和更新操作,可以通过以下方法来提升性能:

  1. 数据本地性优化:确保Spark任务能够访问到数据的本地副本,以减少网络延迟。

  2. 分区表:使用分区表可以显著减少需要扫描的数据量,提升查询性能。

  3. 索引:适当的索引可以加快查询速度,但是应当注意,过多的索引会影响写操作性能。

  4. 批量操作:使用批量插入和更新,而不是单条操作,可以减少网络开销和Spark任务的启动时间。

  5. 动态分区插入:对于分区表,使用INSERT OVERWRITE代替INSERT,可以避免在每次插入时重新计算分区。

  6. 内存优化:调整Spark执行内存参数,确保内存使用最优化。

  7. 并行度控制:适当控制Spark任务的并行度,避免资源过度竞争。

  8. 数据压缩:在存储层面优化数据压缩方式,减少存储空间同时提升读写性能。

在实际应用中,根据具体的数据特征、资源限制和业务需求,可能需要进一步的调优以达到最优性能。

 

http://www.yidumall.com/news/226.html

相关文章:

  • 英文网站建设模板下载百度知道合伙人官网登录入口
  • 百度做网站为什么上阿里云备案专业的制作网站开发公司
  • 招牌做的好的网站有哪些竞价sem培训
  • 通州 网站建设网站优化方案模板
  • 网站做的图上传后字变得很模糊在线搜索资源
  • 个人网站优秀淘宝指数网址
  • 暂时没有域名怎么做网站广州搜索seo网站优化
  • 可以做旅游攻略的网站手机优化软件下载
  • 凡客诚品官网疑似关闭关键词的优化和推广
  • 湖南省建设监理协会网站淘宝指数官网入口
  • wordpress 唯艾迪东莞搜索优化十年乐云seo
  • 海宁网站怎么做seo佛山网站建设
  • wordpress插件 七牛河南seo推广
  • 免备案做网站可以盈利吗seo外链代发
  • 怎么制作网站链接手机今日头条重大消息
  • 怎么在手机上做网站百度手机网页版入口
  • 北京做网站制作的公司站长网站优化公司
  • java做网站不如php吗互联网推广销售好做吗
  • 中国建设工程网官方网站竞价排名的弊端
  • wordpress 主题2周前百度关键词优化排名
  • 有哪些网站可以做店面设计软件惠州关键词排名优化
  • 创建博客网站宣传推广方式
  • 租网站需要多少钱百度今日数据
  • 怎么查百度收录网站iis7站长工具
  • 社区推广普通话百度seo sem
  • 乌鲁木齐网站制作公司可靠吗长沙h5网站建设
  • 网站新媒体建设seo关键词推广公司
  • 网络优化网站惠州抖音seo策划
  • 北京网站ui设计公司百度竞价推广投放
  • 网站排名不可有利就前网站seo服务公司