数据采集第四章 数据预处理实践

合集下载

数据采集与分析实践操作指南

数据采集与分析实践操作指南

数据采集与分析实践操作指南第1章数据采集准备 (3)1.1 数据采集需求分析 (3)1.2 数据源选择与评估 (4)1.3 数据采集工具与技术的选择 (4)1.4 数据采集方案设计 (4)第2章数据采集方法 (5)2.1 手动数据采集 (5)2.2 网络爬虫与自动化采集 (5)2.3 数据挖掘与挖掘技术 (6)2.4 数据清洗与预处理 (6)第3章数据存储与管理 (6)3.1 数据存储方案设计 (6)3.1.1 确定数据存储需求 (6)3.1.2 选择合适的数据存储技术 (7)3.1.3 数据存储架构设计 (7)3.2 关系型数据库与SQL (7)3.2.1 关系型数据库概述 (7)3.2.2 SQL操作 (7)3.3 非关系型数据库与NoSQL (8)3.3.1 非关系型数据库概述 (8)3.3.2 常见非关系型数据库 (8)3.4 数据仓库与数据湖 (8)3.4.1 数据仓库 (8)3.4.2 数据湖 (8)第4章数据分析方法 (9)4.1 描述性统计分析 (9)4.1.1 频数分析与频率分布 (9)4.1.2 集中趋势分析 (9)4.1.3 离散程度分析 (9)4.1.4 分布形状分析 (9)4.2 摸索性数据分析 (9)4.2.1 异常值分析 (9)4.2.2 关联分析 (9)4.2.3 数据可视化 (9)4.3 假设检验与统计推断 (9)4.3.1 单样本t检验 (9)4.3.2 双样本t检验 (9)4.3.3 方差分析(ANOVA) (10)4.3.4 非参数检验 (10)4.4 预测分析模型 (10)4.4.1 线性回归模型 (10)4.4.2 逻辑回归模型 (10)4.4.3 时间序列模型 (10)4.4.4 机器学习算法 (10)第5章数据可视化与展示 (10)5.1 数据可视化原则与技巧 (10)5.1.1 保证准确性 (10)5.1.2 简洁明了 (10)5.1.3 一致性 (10)5.1.4 对比与区分 (10)5.1.5 适当的视觉辅助 (10)5.1.6 关注细节 (11)5.2 常用数据可视化工具 (11)5.2.1 Excel (11)5.2.2 Tableau (11)5.2.3 Power BI (11)5.2.4 Python数据可视化库(如matplotlib、seaborn等) (11)5.2.5 JavaScript数据可视化库(如D(3)js、ECharts等) (11)5.3 图表类型与适用场景 (11)5.3.1 条形图 (11)5.3.2 饼图 (11)5.3.3 折线图 (11)5.3.4 散点图 (12)5.3.5 热力图 (12)5.3.6 地图 (12)5.4 数据报告与故事讲述 (12)5.4.1 确定目标 (12)5.4.2 结构清晰 (12)5.4.3 结合图表与文字 (12)5.4.4 适当的故事讲述 (12)5.4.5 突出重点 (12)5.4.6 适时更新 (12)第6章机器学习算法与应用 (12)6.1 机器学习概述与分类 (12)6.2 监督学习算法与应用 (12)6.3 无监督学习算法与应用 (13)6.4 强化学习与推荐系统 (13)第7章深度学习技术 (13)7.1 深度学习基础概念 (13)7.1.1 神经网络的发展历程 (13)7.1.2 深度学习的基本结构 (14)7.1.3 深度学习框架介绍 (14)7.2 卷积神经网络与图像识别 (14)7.2.1 卷积神经网络基础 (14)7.2.2 经典卷积神经网络结构 (14)7.2.3 图像识别任务中的应用 (14)7.3 循环神经网络与自然语言处理 (14)7.3.1 循环神经网络基础 (14)7.3.2 自然语言处理任务中的应用 (15)7.3.3 注意力机制与Transformer (15)7.4 对抗网络与图像 (15)7.4.1 对抗网络基础 (15)7.4.2 对抗网络的变体 (15)7.4.3 图像应用 (15)第8章大数据处理技术 (15)8.1 分布式计算框架 (15)8.1.1 框架概述 (15)8.1.2 Hadoop框架 (15)8.1.3 Spark框架 (16)8.2 分布式存储系统 (16)8.2.1 存储系统概述 (16)8.2.2 HDFS存储系统 (16)8.2.3 Alluxio存储系统 (16)8.3 流式数据处理 (16)8.3.1 流式处理概述 (16)8.3.2 Kafka流式处理 (16)8.3.3 Flink流式处理 (16)8.4 大数据挖掘与优化 (17)8.4.1 挖掘技术概述 (17)8.4.2 优化策略 (17)第9章数据安全与隐私保护 (17)9.1 数据安全策略与法律法规 (17)9.2 数据加密与安全存储 (17)9.3 数据脱敏与隐私保护 (17)9.4 用户行为追踪与数据分析伦理 (18)第10章实践案例与总结 (18)10.1 数据采集与分析实践案例 (18)10.2 数据分析项目实施与管理 (18)10.3 数据分析团队建设与人才培养 (18)10.4 数据采集与分析实践总结与展望 (19)第1章数据采集准备1.1 数据采集需求分析数据采集需求的明确是整个数据采集过程的首要步骤。

数据采集和预处理流程

数据采集和预处理流程

数据采集和预处理流程
好嘞,那我开始写啦!
朋友!今天来跟你唠唠数据采集和预处理这档子事儿。

这可是我在这行摸爬滚打 20 多年总结出来的经验,听好了哈!
先说数据采集吧,哇,这就像去果园摘果子,你得找对地方,挑好果子。

比如说,你要采集用户行为数据,那得从各种渠道下手,像网站啦、APP 啦。

我记得有一次,我们为了采集一个电商网站的数据,那可真是费了老劲了!服务器差点都给整崩溃了,唉!
采集数据的时候,可得注意合法性和道德性,别瞎搞,不然惹上麻烦可就惨喽!还有啊,你得选对工具,就像战士得选好武器一样。

我刚开始的时候,用的工具那叫一个烂,效率低得要死,嗯……后来才慢慢找到顺手的。

说到预处理,这就好比把摘回来的果子洗干净、分类。

数据里可能有一堆乱七八糟的东西,重复的啦、错误的啦,都得清理掉。

有一回,我处理一组数据,里面的错误多得让我头都大了,哇!
数据标准化也很重要,你得把各种格式的数据统一起来,不然没法用啊。

这就像把一群调皮的孩子管得服服帖帖的,不容易哦!
我这说着说着好像有点乱了,哈哈。

不过没关系,咱接着来。

有时候啊,数据预处理就像解谜一样,你得一点点找出规律,解决问题。

我记得好像有一次,有一组数据怎么都搞不定,后来发现是时间格式的问题,你说搞笑不?
对了,现在这技术发展得太快啦,新的算法和工具层出不穷。

我这老家伙有时候都跟不上喽,唉!但咱也不能放弃学习,是不?
要是你在处理数据的时候遇到问题,别慌,多试试,多琢磨。

我当初也是这么过来的,犯了不少错,才慢慢摸到门道。

好啦,我能想到的暂时就这么多,剩下的就靠你自己去摸索啦!。

数据采集和数据预处理

数据采集和数据预处理

数据采集和数据预处理3.2.1 数据采集数据采集功能主要用于实现对DSM分析研究中所需的电力供需、相关政策法规等原始数据、信息的多种途径采集。

数据采集为使用者提供定时数据采集、随机采集、终端主动上报数据等多种数据采集模式,支持手工输入、电子表格自动导入等多种导入方式,且能够对所采集的数据进行维护,包括添加、修改、删除等,并能进行自动定期备份。

在需求侧管理专业化采集中,`采集的数据根据结构特点,可以分为结构化数据和非结构化数据,其中,结构化数据包括生产报表、经营报表等具有关系特征的数据;非结构化数据,主要包括互联网网页( HTML)、格式文档( Word、PDF)、文本文件(Text)等文字性资料。

这些数据目前可以通过关系数据库和专用的数据挖掘软件进行挖掘采集。

特别是非结构化数据,如DSM相关的经济动态、政策法规、行业动态、企业动态等信息对DSM分析研究十分重要,综合运用定点采集、元搜索、主题搜索等搜索技术,对互联网和企业内网等数据源中符合要求的信息资料进行搜集,保证有价值信息发现和提供的及时性和有效性。

DSM信息数据采集系统中数据采集类型如图2所示。

在数据采集模块中,针对不同的数据源,设计针对性的采集模块,分别进行采集工作,主要有网络信息采集模块、关系数据库信息采集模块、文件系统资源采集模块和其他信息源数据的采集模块。

(1)网络信息采集模块。

网络信息采集模块的主要功能是实时监控和采集目标网站的内容,对采集到的信息进行过滤和自动分类处理,对目标网站的信息进行实时监控,并把最新的网页及时采集到本地,形成目标站点网页的全部信息集合,完整记录每个网页的详细信息,包括网页名称、大小、日期、标题、文字内容及网页中的图片和表格信息等。

(2)关系数据库采集模块。

该模块可以实现搜索引擎数据库与关系型数据库(包括Oracle、Sybase、DB2、SQL Server、MySQL等)之间的数据迁移、数据共享以及两者之间的双向数据迁移。

数据采集与预处理的方法与最佳实践

数据采集与预处理的方法与最佳实践

数据采集与预处理的方法与最佳实践随着互联网的普及和技术的进步,数据采集和预处理变得越来越重要。

无论是在科学研究、商业分析还是社会调查中,正确有效地采集和预处理数据都是取得准确结果的关键。

本文将介绍一些常用的数据采集和预处理的方法与最佳实践,帮助读者更好地应对数据处理的挑战。

一、数据采集数据采集是指从各种来源收集数据的过程。

在进行数据采集时,我们需要注意以下几个方面。

1.明确目标:在开始数据采集之前,我们需要明确采集数据的目标和需求。

只有明确了目标,才能有针对性地选择数据源和采集方法。

2.选择合适的数据源:数据源的选择直接影响到数据的质量和准确性。

我们可以选择从已有的数据库、网站、API接口等获取数据,也可以通过调查问卷、实地观察等方式收集数据。

根据不同的需求,选择合适的数据源非常重要。

3.确保数据的完整性和准确性:在采集数据时,我们需要确保数据的完整性和准确性。

可以通过设置数据采集的规则和验证机制来避免数据的缺失和错误。

同时,及时修正和更新数据也是保证数据质量的关键。

二、数据预处理数据预处理是指在进行数据分析之前对原始数据进行清洗、转换和集成的过程。

数据预处理的目的是提高数据的质量和可用性,以便后续的数据分析和建模。

1.数据清洗:数据清洗是数据预处理的第一步,主要是去除数据中的噪声、异常值和缺失值。

可以使用统计方法、数据挖掘算法等对数据进行清洗,以保证数据的准确性和一致性。

2.数据转换:数据转换是将原始数据转化为适合分析的形式。

常见的数据转换包括数据平滑、数据聚合、数据离散化等。

通过数据转换,可以减少数据的复杂性,提高数据的可读性和可理解性。

3.数据集成:数据集成是将来自不同数据源的数据合并为一个一致的数据集。

在进行数据集成时,需要解决数据格式、数据类型和数据命名等问题。

可以使用数据集成工具和技术来简化数据集成的过程。

4.数据规约:数据规约是指将数据集中的数据压缩为更小的表示形式,以减少数据的存储和计算成本。

数据采集与预处理实践

数据采集与预处理实践

数据采集与预处理实践1. 数据采集是指收集和获取数据的过程。

在数据采集中,我们需要确定要收集的数据类型和源头。

数据可以来自各种渠道,包括传感器、数据库、网络爬虫等。

在确定数据源后,我们需要设计和实施采集策略,包括选择合适的采集方式和频率。

数据采集的目标是获取尽可能准确、全面和可靠的数据。

2. 数据预处理是指对采集的原始数据进行清洗、转换和集成的过程。

数据预处理的目的是提高数据的质量和可用性,使其适合后续的分析和建模工作。

数据预处理包括以下几个主要步骤:a. 数据清洗:去除数据中的异常值、噪声、重复值和缺失值。

异常值是指与其他数据明显不一致的数据点,噪声是指数据中的随机错误,重复值是指多次采集中出现相同的数据,缺失值是指某些数据项没有采集到。

b. 数据转换:将数据转换为适合分析的形式。

例如,将日期和时间转换为时间戳,将分类变量转换为数值变量等。

数据转换也包括对数据进行标准化和归一化,以便在不同尺度和范围下进行比较和分析。

c. 数据集成:将来自不同源头的数据整合在一起。

数据集成可能涉及数据格式的转换、数据合并和去重等操作。

数据集成的目标是创建一个一致和完整的数据集,以支持后续的分析和建模工作。

3. 数据采集与预处理的实践有一些常见的挑战和技巧:a. 数据质量控制:在数据采集过程中,可能会遇到数据质量不高的问题,如噪声、异常值和缺失值等。

为了提高数据质量,可以使用数据清洗和异常检测技术,如统计方法和机器学习算法。

b. 数据安全与隐私:在进行数据采集和处理时,需要注意数据安全和隐私保护。

特别是对于敏感数据,如个人身份信息和商业机密,需要采取适当的安全措施,如数据加密和访问控制。

c. 数据存储和管理:在进行数据采集和预处理时,需要考虑数据的存储和管理。

可以使用数据库和云存储等技术来存储和管理数据,以便后续的访问和分析。

d. 自动化与扩展性:数据采集和预处理是一个重复和耗时的过程。

为了提高效率和可扩展性,可以使用自动化工具和技术,如脚本和流水线。

大数据基础-数据采集与预处理

大数据基础-数据采集与预处理

大数据基础-数据采集与预处理大数据基础数据采集与预处理在当今数字化的时代,数据已成为企业和组织决策的重要依据。

大数据的价值日益凸显,而数据采集与预处理作为大数据处理的基础环节,其重要性不言而喻。

本文将详细探讨数据采集与预处理的相关知识,帮助您更好地理解这一关键领域。

一、数据采集数据采集是获取原始数据的过程,它就像是为大数据这座大厦收集原材料。

常见的数据采集方法包括以下几种:(一)系统日志采集许多系统和应用程序会自动生成日志,记录其运行过程中的各种信息,如用户操作、错误信息等。

通过对这些日志的收集和分析,可以了解系统的运行状况和用户行为。

(二)网络爬虫当我们需要从互联网上获取大量数据时,网络爬虫是一个常用的工具。

它可以按照一定的规则自动访问网页,并提取所需的信息。

(三)传感器数据采集随着物联网的发展,各种传感器被广泛应用于收集物理世界的数据,如温度、湿度、位置等。

(四)数据库导入企业内部通常会有各种数据库存储业务数据,通过特定的接口和工具,可以将这些数据导入到大数据处理系统中。

在进行数据采集时,需要考虑数据的来源、质量和合法性。

数据来源的多样性可以保证数据的丰富性,但也可能带来数据格式不一致、数据重复等问题。

同时,要确保采集的数据合法合规,遵循相关的法律法规和隐私政策。

二、数据预处理采集到的原始数据往往存在各种问题,如缺失值、噪声、异常值等,这就需要进行数据预处理,将数据“清洗”和“整理”,为后续的分析和处理做好准备。

(一)数据清洗1、处理缺失值缺失值是数据中常见的问题。

可以通过删除包含缺失值的记录、填充缺失值(如使用平均值、中位数或其他合理的方法)等方式来处理。

2、去除噪声噪声数据会干扰分析结果,需要通过平滑技术或聚类等方法来去除。

3、识别和处理异常值异常值可能是由于数据录入错误或真实的异常情况导致的。

需要通过统计方法或业务知识来判断并处理。

(二)数据集成当数据来自多个数据源时,需要进行数据集成。

数据采集数据预处理实践

数据采集数据预处理实践

数据采集数据预处理实践2023-10-27•数据采集•数据预处理•数据存储与处理工具目录•数据采集与预处理实践案例•数据采集与预处理的未来趋势01数据采集数据采集是指从各种数据源中获取、整理和转换数据的过程。

定义数据采集可以分为结构化数据采集、半结构化数据采集和非结构化数据采集。

分类定义与分类保证数据的完整性和准确性,避免数据丢失或损坏。

数据完整性提高数据的质量和可靠性,为后续数据分析提供准确的依据。

数据质量增加数据的多样性和丰富性,提供更全面的信息。

数据多样性数据采集的重要性数据采集的方法与技术数据爬取利用API接口从其他系统或平台获取数据。

API接口文件传输数据仓库01020403建立数据仓库,整合不同来源的数据,形成统一的数据平台。

通过爬虫技术从网站、数据库等数据源中获取数据。

通过文件传输方式从其他系统或平台获取数据。

02数据预处理在数据集中,可能会存在重复的数据记录,这些记录会影响数据分析的准确性,因此需要去除。

去除重复数据在数据集中,有些字段可能存在缺失值,可以采用插值、删除或估算等方法进行处理。

处理缺失值在数据集中,有些数据可能偏离正常范围,这些数据被称为异常值,需要去除。

去除异常值数据清洗数据转换标准化将数据转换成标准化的形式,例如将数据转换成均值为0,标准差为1的形式。

归一化将数据转换成0到1之间的形式,例如将数据除以最大值进行缩放。

离散化将连续的数值数据转换为离散的类别数据,例如将年龄字段转换为青年、中年和老年等类别。

010302Min-Max归一化将数据的值映射到0-1之间,把原始数据线性地缩放到这个范围。

线性变换对数据进行线性变换,将数据映射到另一个特征空间。

标准化把每个特征值减去其均值并除以其标准差,以此来消除特征间的尺度差异。

数据归一化03数据存储与处理工具关系型数据库特点关系型数据库采用了关系模型来存储数据,具有较高的数据一致性和完整性保障。

应用场景适用于需要频繁进行读写操作,且数据结构复杂、需要关联查询的场景,如银行、金融等。

数据采集和预处理

数据采集和预处理

数据采集和预处理在当今社会,数据已经成为了企业竞争的利器,越来越多的企业开始重视数据的价值,积极采集和分析数据。

数据采集和预处理是数据分析的前置工作,对于数据质量和分析效果具有至关重要的作用。

本文将从数据采集的方式、数据预处理的步骤和常用方法等方面进行探讨。

一、数据采集的方式1. 网页抓取网页抓取是一种常用的数据采集方式,同时也是最为简单的一种方式。

它通过程序模拟用户的行为,访问网页并抓取所需的数据信息。

网页抓取可以采用一些工具库实现,比如requests、beautifulsoup4等。

2. API调用API(Application Programming Interface)是一种常用的服务接口,它提供了一系列的接口方法,方便开发人员访问和获取服务端的数据。

API调用的方式通常是通过向服务端发送请求并接收响应实现。

API调用的优势是数据结构简单、数据质量高、查询效率高等。

3. 数据库读取在一些需要处理大量数据的场景下,数据库读取是一种更加高效的数据采集方式。

这种方式不需要通过网络传输,将数据直接读取到内存中并且进行处理,降低了数据采集的时间成本。

4. 传感器采集在一些实时监控场景下,传感器采集可以实时获取到物理环境状态、温度、气压等实时数据。

基于传感器采集的数据可以有效地进行分析和预测。

二、数据预处理的步骤1. 数据清洗数据清洗是数据预处理的第一步,它主要针对数据质量问题进行处理。

数据清洗的处理内容包括去除无效数据、数据格式转换、填充缺失值等。

2. 数据集成数据集成是将不同数据源中的数据整合在一起的过程。

数据集成的过程需要保持数据的一致性以及正确性。

3. 数据转换数据转换是指将原始数据转换为适合数据挖掘算法处理的数据结构。

数据转换的过程需要注意数据类别的转换,比如将数据离散化、归一化等。

4. 数据规约数据规约是指将数据集中的某些维度进行合并,从而减少数据维度,提高数据处理效率。

三、常用方法1. 特征选择特征选择是指通过评估不同维度或特征的重要性,选择对结果影响较大的特征。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STORE Relation_name INTO ' required_directory_path ' [USING function];
首先使用LOAD运算符将它读入关系 student ,代码如下:
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
第四章 数据预处理实践
目录
Contents
01
用Pig进行 数据预处理
02
用kettle进行 数据预处理
03
04
用openrefine 使用FlumeInterceptor 进行据预处理 对日志信息进行数据预处理
01
学习目标
学习目标
技能目标
学会使用Pig进行数据预处理。 学会使用kettle进行数据预处理。 学会使用pandas进行数据预处理。 学会使用openrefine进行数据预处理。 学会使用Flume Interceptor进行日志数据预处理。
现在,通过在Grunt shell中执行以下Pig Latin语句,将文件 student_data.txt 中的数据加载到Pig中。
grunt> student = LOAD 'hdfs://localhost:9000/pig_data/student_data.txt' USING PigStorage(',') as ( id:int, firstname:chararray, lastname:chararray, phone:chararray, city:chararray );
上述对于参数的说明如表所示:
Relation name
Input file path
Storage function
schema
已将数据存储在学生(student)模式中。 从HDFS的/pig_data/目录中的 student_data.txt 文件读取数据。
使用了 PigStorage() 函数,将数据加载并存储为结构化文本文件。它采用分 隔符,使用元组的每个实体作为参数分隔。默认情况下,它以“\t"作为参数。
现在将关系存储在HDFS目录“/pig_Output/"中,代码如下:
grunt> STORE student INTO ' hdfs://localhost:9000/pig_Output/ ' USING PigStorage (',');
执行 store 语句后,将使用指定的名称创建目录,并将数据存储在其 中。
(3) DUMP: 输出一个relation到控制台
在控制台上打印关ILTER 运算符用于根据条件从关系中选择所需的元组。下面给出了 FILTER 语法如图所示:
grunt> Relation2_name = FILTER Relation1_name BY (condition);
如:使用以下模式存储数据。
column id
名字
姓氏
电话号码
城市
datatype in chararray t
chararray
chararray
chararray
注意: Load语句会简单地将数据加载到Pig的指定的关系中。
(2) STORE:保存relation到文件系统或者其他存储 Store语法格式。
知识目标
了解大数据预处理工具的使用方法。
02
任务4.1: 用Pig进行数据预处理
任务描述
(1)学习Pig的相关基础知识。 (2)使用Pig实现“北京公交线路信息”数据的预处理。
任务目标
(1)熟悉Pig的相关基础知识; (2)使用Pig完成“北京公交线路信息”数据的预处理。
知识准备
1. Pig中主要的操作如下: 在本地文件系统中,创建一个包含数据的输入文件 student_data.txt , 如下所示,并使用 put 命令将文件从本地文件系统移动到HDFS上。
在HDFS目录 /pig_data/ 中有一个名为 student_details.txt 的文件,内容 如图所示:
001,Rajiv,Reddy,21,9848022337,Hyderabad 002,siddarth,Battacharya,22,9848022338,Kolkata 003,Rajesh,Khanna,22,9848022339,Delhi 004,Preethi,Agarwal,21,9848022330,Pune 005,Trupthi,Mohanthy,23,9848022336,Bhuwaneshwar 006,Archana,Mishra,23,9848022335,Chennai 007,Komal,Nayak,24,9848022334,trivendram 008,Bharathi,Nambiayar,24,9848022333,Chennai
说明: ➢Relation_name:必须提到要存储数据的关系。 ➢Input file path :必须提到存储文件的HDFS目录。(在MapReduce模式 下) ➢Function:必须从Apache Pig提供的一组加载函数中选择一个函数 ( BinStorage,JsonLoader,PigStorage,TextLoader )。 ➢Schema:必须定义数据的模式,如:(column1 : data type, column2 : data type, column3 : data type);
(1)载入和存储 ① LOAD:从文件系统或者其他存储载入数据到一个relation Load语句由两部分组成,用“=”运算符分隔。在左侧为存储数据关系的名 称,右侧为定义如何存储数据。下面给出了 Load 运算符的语法:
Relation_name = LOAD 'Input file path' USING function as schema;
001,Rajiv,Reddy,9848022337,Hyderabad 002,siddarth,Battacharya,9848022338,Kolkata 003,Rajesh,Khanna,9848022339,Delhi 004,Preethi,Agarwal,9848022330,Pune 005,Trupthi,Mohanthy,9848022336,Bhuwaneshwar 006,Archana,Mishra,9848022335,Chennai.
相关文档
最新文档