- Spark之PySpark
james二次元
大数据SparkPythonPySpark
PySpark是ApacheSpark的PythonAPI,它允许开发者使用Python编程语言进行大规模数据处理和分析。ApacheSpark是一个快速、通用、可扩展的大数据处理引擎,支持批处理、流处理、机器学习、图计算等多种数据处理模式。PySpark使得Python开发者能够利用Spark强大的分布式计算能力,处理大数据集,并执行高效的并行计算。一、PySpark核心概念1.RDD(弹性分布
- PySpark查询Dataframe中包含乱码的数据记录的方法
weixin_30777913
python大数据spark
首先,用PySpark获取Dataframe中所有非ASCII字符,找到其中的非乱码字符。frompyspark.sqlimportSparkSessionfrompyspark.sql.functionsimportcol,concat_ws,explode,split,coalesce,litfrompyspark.sql.typesimportStringTypespark=SparkSes
- spark-pyspark-standalone部署模式全过程
哈哈哈哈q
spark大数据分布式
声明:1.参考视频b站黑马程序员视频,极力推荐这个视频,侵权删除https://www.bilibili.com/video/BV1Jq4y1z7VP/?spm_id_from=333.337.search-card.all.click&vd_source=3ae466b20a9e8eabdaa10e84c99758492.第一次配置,仅作为个人记录使用。3.参考黑马程序员standalone配置
- 类库与框架、在window(pycharm)搭建pyspark库,连接Linux。
哈哈哈哈q
+sparkspark大数据分布式
类库:一堆别人写好的代码,可以直接导入使用,pandas框架:可以独立运行,软件产品,如sparkpandas用于:小规模数据集spark用于:大规模数据集pysparkpython的运行类库,内置了完全的sparkapi,可以通过pyspark类库类库来编写spark应用程序。并将其提交到spark集群中运行。搭建。。很麻烦,本地需要pycharm专业版,利用shh连接Linux中的ana库。测
- PySpark学习笔记5-SparkSQL
兔子宇航员0301
数据开发小白成长笔记学习笔记
sparkSql的数据抽象有两种。一类是dataset适用于java和Scala一类是dataframe适用于java,Scala,python将rdd转换为dataframe#方式一df=spark.createDataFrame(rdd,schema=['name','age'])#方式二schema=Structtype().add('id',integertype(),nullable=F
- pySpark学习笔记4——预处理csv数据3
小李飞刀李寻欢
NLP与推荐算法pySparkhdfsdataframecsv
嗨,各位大佬好,我是开局一手好牌,最后打得稀烂,输掉所有的菜鸟小明哥。本文仍旧是pySpark系列继续,欢迎关注,并请持续关注。入门,开始,继续。有大佬说,很多人写博文都是开篇啥的,往往只有一两篇,后来再无更新,而我不是,专注,持续深入才是我的本色。回到征途,在spark中,有很多函数可能你并不知道或者真的没有,那么就需要自己定义个函数了,这很正常,这就是udf,即望文生义——userdefine
- 《AI赋能行业实战:揭秘企业数字化转型最佳实践,落地案例深度解析!》 ---- 总目录
shiter
人工智能系统解决方案与技术架构人工智能大数据AI
文章大纲金融行业落地实践浅析基于PySpark进行信用卡评分--实战案例迁移学习小样本金融风控生物信息识别大健康行业落地实践浅析传统行业深度融合升级如何深度参与创业?物联网行业案例浅析智慧园区案例浅析计算机视觉应用案例计算机视觉入门学习国外的资源国内的资源YOLO学习modelzoo计算机视觉基础目标检测YOLOv5YOLOv8自动缺陷检测(AutoDefectClassification)、零件
- Spark 基本概念
Buutoorr
spark大数据分布式scala
#官网部分解释ClusterModeOverview-Spark3.3.0DocumentationApplication:指的是用户编写的Spark应用程序/代码,一个完整的main方法程序,包含了Driver功能代码和分布在集群中多个节点上运行的Executor代码,如main方法中有WordCount代码有哪些命令会产生一个Applicationspark/bin/pyspark【输入exi
- spark python入门_python pyspark入门篇
weixin_39686634
sparkpython入门
一.环境介绍:1.安装jdk7以上2.python2.7.113.IDEpycharm4.package:spark-1.6.0-bin-hadoop2.6.tar.gz二.Setup1.解压spark-1.6.0-bin-hadoop2.6.tar.gz到目录D:\spark-1.6.0-bin-hadoop2.62.配置环境变量Path,添加D:\spark-1.6.0-bin-hadoop2
- Python大数据之PySpark(三)使用Python语言开发Spark程序代码_windows spark python
2401_84181704
程序员大数据pythonspark
算子:rdd的api的操作,就是算子,flatMap扁平化算子,map转换算子Transformation算子Action算子步骤:1-首先创建SparkContext上下文环境2-从外部文件数据源读取数据3-执行flatmap执行扁平化操作4-执行map转化操作,得到(word,1)5-reduceByKey将相同Key的Value数据累加操作6-将结果输出到文件系统或打印代码:#-*-codi
- Spark入门(Python)
nfenghklibra
pythonspark
目录一、安装Spark二、Spark基本操作一、安装Sparkpip3installpyspark二、Spark基本操作#导入spark的SparkContext,SparkConf模块frompysparkimportSparkContext,SparkConf#导入os模块importos#设置PYSPARK的python环境os.environ['PYSPARK_PYTHON']="C:\\
- PyDeequ库在AWS EMR启动集群中数据质量检查功能的配置方法和实现代码
weixin_30777913
pythonspark大数据云计算aws
PyDeequ是一个基于ApacheSpark的PythonAPI,专门用于定义和执行“数据单元测试”,从而在大规模数据集中测量数据质量。PyDeequ框架在PySpark代码中提供了全面的数据质量检查功能,能够帮助用户&有效地监控和提升大规模数据集的数据质量。它在PySpark代码中的数据质量检查功能主要包括以下几个方面:核心组件指标计算(MetricsComputation):利用分析器(An
- spark 算子例子_Spark性能调优方法
不让爱你的人失望
spark算子例子
公众号后台回复关键词:pyspark,获取本项目github地址。Spark程序可以快如闪电⚡️,也可以慢如蜗牛?。它的性能取决于用户使用它的方式。一般来说,如果有可能,用户应当尽可能多地使用SparkSQL以取得更好的性能。主要原因是SparkSQL是一种声明式编程风格,背后的计算引擎会自动做大量的性能优化工作。基于RDD的Spark的性能调优属于坑非常深的领域,并且很容易踩到。我们将介绍Spa
- 在AWS上使用KMS客户端密钥加密S3文件,同时支持PySpark读写和Snowflake导入
weixin_30777913
pythonspark大数据云计算数据仓库
现有AWSEMR集群上运行PySpark代码,可以读写S3上的数据文件,Snowflake数据仓库也需要导入S3上的文件到表。现在要用AWSKMS有客户端密钥加密S3上的文件,同时允许PySpark代码,可以读写S3上的数据文件,Snowflake数据仓库导入S3上的文件到表。为了实现AWSEMR上的PySpark读写KMS加密的S3文件,并让Snowflake导入这些文件,请按照以下步骤操作:一
- 性能优化案例:通过合理设置spark.shuffle.memoryFraction参数的值来优化PySpark程序的性能
weixin_30777913
pythonspark大数据
在PySpark中,合理调整spark.shuffle.memoryFraction参数可以有效优化Shuffle阶段的性能,尤其是在存在大量磁盘溢出的场景下。通过合理设置spark.shuffle.memoryFraction并结合其他优化手段,可显著减少Shuffle阶段的磁盘I/O,提升PySpark作业的整体性能。以下是优化案例的总结及分步说明:优化背景问题现象:PySpark作业在Shu
- RDD 算子全面解析:从基础到进阶与面试要点
天冬忘忧
Sparkspark大数据
Spark的介绍与搭建:从理论到实践_spark环境搭建-CSDN博客Spark的Standalone集群环境安装与测试-CSDN博客PySpark本地开发环境搭建与实践-CSDN博客Spark程序开发与提交:本地与集群模式全解析-CSDN博客SparkonYARN:Spark集群模式之Yarn模式的原理、搭建与实践-CSDN博客Spark中RDD的诞生:原理、操作与分区规则-CSDN博客Spar
- anaconda中pyspark_自学大数据——9 Anaconda安装与使用pyspark
步六孤陆
首先从Anaconda官网上下载Anaconda。一、解压安装包sudobashAnaconda3-2020.07-Linux-x86_64.shchown-Rhadoop:hadoop/opt/anaconda/vi/etc/profileexportANACONDA_HOME=/opt/anacondaexportPATH=$PATH:$ANACONDA_HOME/bin:source/etc
- PySpark数据处理过程简析
AI天才研究院
Python实战自然语言处理人工智能语言模型编程实践开发语言架构设计
作者:禅与计算机程序设计艺术1.简介PySpark是ApacheSpark的PythonAPI,可以用Python进行分布式数据处理,它在内存中利用了ApacheHadoopYARN资源调度框架对数据进行并行处理。PySpark可以直接使用Hadoop文件系统、HDFS来存储数据,也可以通过S3、GCS、ADLS等云存储平台保存数据。因此,在不同的数据源之间移动数据时,只需要复制一次数据就可以完成
- 2022-02-09大数据学习日志——PySpark——Spark快速入门&Standalone集群
王络不稳定
sparkbigdata大数据
第一部分Spark快速入门01_Spark快速入门【Anaconda软件安装】[掌握]使用Python编写Spark代码,首先需要安装Python语言包,此时安装Anaconda科学数据分析包。Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。Anaconda是跨平台的,有Windows、MacOS、Linux版本。#下载地址:ht
- PySpark
rainyrainbow
大数据hadoop
1.PySpark的搭建https://blog.csdn.net/qq_36330643/article/details/78429109PySpark是Spark为Python开发者提供的API,位于$SPARK_HOME/bin目录,其依赖于Py4J。在Pycharm中配置使用spark1.在Pycharm中新建python项目,解释器使用的是python3.4File=>Settings切
- 性能优化案例:通过合理设置spark.default.parallelism参数的值来优化PySpark程序的性能
weixin_30777913
大数据sparkpython
在PySpark中,spark.default.parallelism是一个关键参数,直接影响作业的并行度和资源利用率。通过合理设置spark.default.parallelism并结合数据特征调整,可显著提升PySpark作业的并行效率和资源利用率。建议在开发和生产环境中进行多轮基准测试以确定最优值。以下是如何通过调整此参数优化性能的详细说明,结合案例和最佳实践:1.参数作用与问题场景参数意义
- 性能优化案例:通过合理设置spark.storage.memoryFraction参数的值来优化PySpark程序的性能
weixin_30777913
python大数据spark
优化PySpark程序的性能时,合理设置spark.storage.memoryFraction(或相关内存参数)是关键。合理设置spark.storage.memoryFraction需结合任务类型和内存使用监控。对于缓存密集型任务,适当提高存储内存比例;对于Shuffle密集型任务,优先保障执行内存。新版本Spark的动态内存机制简化了调优,但手动干预在极端场景下仍有效。最终需通过反复测试验证
- PySpark之金融数据分析(Spark RDD、SQL练习题)
唯余木叶下弦声
大数据大数据sparkpysparkpython数据分析sql
目录一、数据来源二、PySparkRDD编程1、查询特定日期的资金流入和流出情况2、活跃用户分析三、PySparkSQL编程1、按城市统计2014年3月1日的平均余额2、统计每个城市总流量前3高的用户四、总结一、数据来源本文使用的数据来源于天池大赛数据集,由蚂蚁金服提供,包含用户基本信息、申购赎回记录、收益率、银行间拆借利率等多个维度,本文通过PySpark实现对该数据集的简单分析。数据来源:天池
- 厦门租房信息分析展示(pycharm+python爬虫+pyspark+pyecharts)(踩坑记录)
吃西红柿的鸡蛋
大数据hadoopsparkpython
厦门租房信息分析展示(pycharm+python爬虫+pyspark+pyecharts)(踩坑记录)项目地址http://dblab.xmu.edu.cn/blog/2307/踩坑:Spark分析文件rent_analyse.py改变Spark读取csv文件的写法sparkContext=SparkContext("local","rent_analyse")sqlContext=SQLCon
- 大数据学习(四):Livy的安装配置及pyspark的会话执行
猪笨是念来过倒
大数据pyspark
一个基于Spark的开源REST服务,它能够通过REST的方式将代码片段或是序列化的二进制代码提交到Spark集群中去执行。它提供了以下这些基本功能:提交Scala、Python或是R代码片段到远端的Spark集群上执行;提交Java、Scala、Python所编写的Spark作业到远端的Spark集群上执行;提交批处理应用在集群中运行。从Livy所提供的基本功能可以看到Livy涵盖了原生Spar
- pyspark 中删除hdfs的文件夹
TDengine (老段)
大数据sparkhadoophdfsmapreduce
在pyspark中保存rdd的内存到文件的时候,会遇到文件夹已经存在而失败,所以如果文件夹已经存在,需要先删除。搜索了下资料,发现pyspark并没有提供直接管理hdfs文件系统的功能。寻找到一个删除的方法,是通过调用shell命令hadoopfs-rm-f来删除,这个方法感觉不怎么好,所以继续找。后来通过查找hadoophdfs的源代码发现hdfs是通过java的包org.appache.had
- PySpark
静听山水
Sparkspark
PySpark的本质确实是Python的一个接口层,它允许你使用Python语言来编写ApacheSpark应用程序。通过这个接口,你可以利用Spark强大的分布式计算能力,同时享受Python的易用性和灵活性。1、PySpark的工作原理PySpark的工作原理可以概括为以下几个步骤:编写Python代码:开发者使用Python语法来编写Spark应用程序。这些程序通常涉及创建RDDs(弹性分布
- pyspark kafka mysql_数据平台实践①——Flume+Kafka+SparkStreaming(pyspark)
weixin_39793638
pysparkkafkamysql
蜻蜓点水Flume——数据采集如果说,爬虫是采集外部数据的常用手段的话,那么,Flume就是采集内部数据的常用手段之一(logstash也是这方面的佼佼者)。下面介绍一下Flume的基本构造。Agent:包含Source、Channel和Sink的主体,它是这3个组件的载体,是组成Flume的数据节点。Event:Flume数据传输的基本单元。Source:用来接收Event,并将Event批量传
- PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解_pyspark rdd
2401_84187537
数据分析数据挖掘
DataFrame.show()使用格式:df.show()df.show(1)+---+---+-------+----------+-------------------+|a|b|c|d|e|+---+---+-------+----------+-------------------+|1|2.0|string1|2000-01-01|2000-01-0112:00:00|+---+---
- PySpark数据分析基础:PySpark基础功能及DataFrame操作基础语法详解_pyspark rdd(1)
2401_84181368
程序员数据分析数据挖掘
dfDataFrame[a:bigint,b:double,c:string,d:date,e:timestamp]####通过由元组列表组成的RDD创建rdd=spark.sparkContext.parallelize([(1,2.,‘string1’,date(2000,1,1),datetime(2000,1,1,12,0)),(2,3.,‘string2’,date(2000,2,1),
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include