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

企业网站备案收费口碑营销网站

企业网站备案收费,口碑营销网站,资讯类网站源码,织梦【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 Spark本地模式安装_spark3.2.2本地模式安装-CSDN博客 DML#xff08;Data Manipulation Language#xff0c;数据操作语言#xff09;操作主要用来对…【图书介绍】《Spark SQL大数据分析快速上手》-CSDN博客 《Spark SQL大数据分析快速上手》【摘要 书评 试读】- 京东图书 Spark本地模式安装_spark3.2.2本地模式安装-CSDN博客 DMLData 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操作尤其是高并发的插入和更新操作可以通过以下方法来提升性能 数据本地性优化确保Spark任务能够访问到数据的本地副本以减少网络延迟。 分区表使用分区表可以显著减少需要扫描的数据量提升查询性能。 索引适当的索引可以加快查询速度但是应当注意过多的索引会影响写操作性能。 批量操作使用批量插入和更新而不是单条操作可以减少网络开销和Spark任务的启动时间。 动态分区插入对于分区表使用INSERT OVERWRITE代替INSERT可以避免在每次插入时重新计算分区。 内存优化调整Spark执行内存参数确保内存使用最优化。 并行度控制适当控制Spark任务的并行度避免资源过度竞争。 数据压缩在存储层面优化数据压缩方式减少存储空间同时提升读写性能。 在实际应用中根据具体的数据特征、资源限制和业务需求可能需要进一步的调优以达到最优性能。
http://www.hkea.cn/news/14558475/

相关文章:

  • asp网站 攻击网站推广排名服务
  • 网站开发老是弹广告wordpress用户注册页面
  • 电影推荐算法 网站开发装修公司名称大全
  • 一般购物网站项目大连网站运营制作方案
  • 响应式视频网站模板网站首页设计代码
  • 专门做网站的公司 南阳wordpress 设置登陆界面
  • 龙港做网站潍坊 网站推广
  • 网站建设 中关村下载免费素材库
  • 深圳企业网站备案seo推广 课程
  • 成都企业网站设计创业 建网站
  • 建设网站公司挖掘挖掘工具汽车配件网站建设
  • html5开发微网站博客网站需求分析
  • 建网站需要买服务器吗国内做网站需要做icp备案吗
  • 手机与电脑网站制作四川冠辰科技
  • 网站展示英文都用什么字体wordpress仿36kr氪主题
  • wordpress系统邮件设置网站权重优化
  • 有没有招代理商的网站定制网站和模板建站哪个更好
  • 网站建设的简要任务执行书wordpress固定链接500
  • 公众号如何做网站品牌vi包括什么
  • 一级域名的免费网站网页设计兼职
  • 手机浏览微网站谷歌关键词搜索排名
  • 培训网站开发公司公司注册查询网站
  • 建筑公司网站制作手机云电脑
  • 南昌营销网站开发烟台网站搜索优化
  • 如何防止网站挂黑链搭建微信网站
  • 银川建设网站公司网站搜索引擎优化的基本内容
  • 免费制作网站的平台公司网站模板免费下载
  • 如何建网站赚取佣金常州专业做网站公司
  • 徐州网站建设技术托管仿京东网站模板
  • 个人网站可以做音乐下载网360关键词竞价网站