重庆网站seo建设哪家好,icoc.cc是哪个网站域名,建筑工程东莞网站建设,网站怎样做的有吸引力一、软件工程
请用基本路径测试方法为下列程序设计测试用例#xff0c;并写明中间过程#xff1a; 第1步#xff1a;画出流程图 1.菱形用于条件判断。用在有分支的地方。
2.矩形表示一个基本操作。
3.圆形是连接点
第2步#xff1a;计算程序环路复杂性
流图G的环路复杂…一、软件工程
请用基本路径测试方法为下列程序设计测试用例并写明中间过程 第1步画出流程图 1.菱形用于条件判断。用在有分支的地方。
2.矩形表示一个基本操作。
3.圆形是连接点
第2步计算程序环路复杂性
流图G的环路复杂度V(G)定义为V(G)E-N2 E为流图中的边数量N为流图中的节点数量。
V(G)也可以定义为V(G)P1 其中P为流图中的判断节点数量。
第3步给出独立路径集
需要注意的是路径集对每个循环至多只执行一次所以第2次不会进入已经进入过的循环中。
12.1 - 2.2.1 - 2.2.2 - 15 - 16
表示不满足i-1后大于等于0即i-1后小于0于是直接15,16退出。
22.1 - 2.2.1 - 3 - 4.1 - 4.2 - 12 - 13 - 16
表示i-1后等于0即i原本为1即数组中只有1个数i-1后i值为0因为j0所以不满足ji直接退出循环直接进入12,13,16退出
32.1 - 2.2.1 - 2.2.2 - 3 - 4.1 - 4.2 - 5 - 10 - 4.3 - 4.2 - 12 - 13 - 16
42.1 - 2.2.1 - 2.2.2 - 3 - 4.1 - 4.2 - 5 - 10 - 4.3 - 4.2 - 12 - 2.2.1 - 2.2.2 - 15 - 16
52.1 - 2.2.1 - 2.2.2 - 3 - 4.1 - 4.2 - 5 - 6,7,8,9 - 10 - 4.3 - 4.2 - 12 - 13 - 16
62.1 - 2.2.1 - 2.2.2 - 3 - 4.1 - 4.2 - 5 - 6,7,8,9 - 10 - 4.3 - 4.2 - 12 - 2.2.1 - 2.2.2 - 15 - 16
第4步测试用例
1输入空值
2输入只有一个元素的数组比如数组[3]
3输入升序排序的数组比如数组[2,3,6,9]
4同样也是输入升序排序的数组比如数组[2,3,6,9]
5输入数组[1,5,2]
6输入降序排序的数组比如数组[9,5,3,2] 二、数据仓库 要解决的几个问题
1.如何从数据库中抽取数据
如果你需要导入的数据量很小如只有两张表每张表大约一千行数据你可能不需要使用Sqoop。Sqoop更适合批量数据传输和数据仓库场景对于少量数据的导入可以考虑以下几种简单的替代方法直接导出/导入使用MySQL的导出工具例如mysqldump导出表为SQL文件然后在Hive命令行界面中运行这些SQL语句。
或者如果数据表结构不复杂可以将MySQL表数据导出为CSV文件然后在Hive中创建表并使用LOAD DATA LOCAL INPATH命令加载CSV文件。
2.如何进行数据转换是否需要数据转换需要使用什么工具在哪个步骤中进行转换是当数据在数据库中还是要通过别的工具还是要在数据仓库中转换
使用Hive SQL你可以编写Hive SQL脚本来进行数据转换。例如通过CREATE TABLE AS SELECT (CTAS) 语句创建新表并在这个过程中对数据进行转换。
通过Hive的内置函数或自定义函数UDF对数据进行转换。
使用INSERT OVERWRITE 语句将转换后的数据写入到新的表或分区中。
使用ETL工具你可以使用ETLExtract, Transform, Load工具如Apache NiFi, Talend, Informatica等来在数据进入Hive之前进行转换。
这些工具可以帮助你从多种源提取数据应用复杂的转换逻辑然后将其加载到Hive数据仓库中。
在Hadoop生态系统中进行转换使用如Apache Spark, Apache Pig等其他Hadoop生态系统工具来进行数据的预处理和转换然后再将数据加载到Hive。
编写转换脚本 可以在IDEA中编写Hive SQL脚本、Spark程序使用Scala或Python或其他任何数据处理脚本这些脚本可以用来进行数据转换。连接数据库和数据仓库 IDEA支持数据库插件如Database Navigator或DataGrip功能可以连接到Hive或其他数据库系统从而可以直接运行SQL脚本来进行数据转换。
3.如何进行数据清洗是否需要数据清洗需要使用什么工具在哪个步骤中进行清洗是当数据在数据库中还是要通过别的工具还是要在数据仓库中转换
数据探索与评估 在开始清洗之前首先需要对数据进行探索和评估确定需要进行哪些清洗操作。这一步骤可以通过SQL查询、数据可视化工具或者数据探索工具来完成。数据清洗操作 包括但不限于去除重复数据、填充或删除缺失值、标准化数据格式、校验和更正数据错误等。在Hive中这通常通过编写HiveQL脚本来完成。
在数据库中清洗 如果原始数据已经在Hive或其他数据库中可以直接在数据库中使用SQL脚本进行清洗。
使用ETL工具 可以使用ETL工具如Apache NiFi、Talend、Informatica等来设计数据清洗流程。
在数据仓库中转换 有时候数据在加载到数据仓库之后进行清洗和转换尤其是在使用Hive这样的大数据平台时。
使用IDEA进行数据清洗 可以在IntelliJ IDEA中编写HiveQL脚本或Spark程序来进行数据清洗然后将这些脚本运行在Hive上。
4.如何进行数据装载如何将数据库中的数据导入数据仓库是通过某种工具还是通过IDEA这类编译器编写代码脚本的方式
使用HiveQL命令可以使用Hive提供的HiveQL命令来装载数据这些命令可以在Hive的CLI命令行界面、通过Beeline客户端、或者在任何支持Hive连接的IDE中执行。例如可以使用LOAD DATA命令来将数据从本地文件系统或者Hadoop的HDFS导入Hive表中。
-- 将本地文件系统中的数据导入Hive表
LOAD DATA LOCAL INPATH /path/to/local/data.txt INTO TABLE your_table;
-- 将HDFS中的数据导入Hive表
LOAD DATA INPATH /path/to/hdfs/data.txt INTO TABLE your_table;
关于使用IDEA进行数据装载IntelliJ IDEA是一个集成开发环境它支持连接Hive并可以执行HiveQL脚本。你可以通过在IDEA中配置Hive连接然后在SQL脚本编辑器中编写并执行HiveQL命令来进行数据装载。以下是在IDEA中进行数据装载的基本步骤
在IDEA中安装Database Navigator插件或使用已内置的数据库支持功能。
配置Hive连接你需要提供Hive服务器的JDBC URL、用户名和密码。
打开IDEA的数据库视图右键点击创建的Hive连接选择Console打开一个新的查询窗口。
在查询窗口中编写上述提到的LOAD DATA命令并执行。
5.如何在数据仓库中建表导入的数据在数据仓库中是一种怎么样的组织形式
创建表的步骤打开Hive的CLI命令行界面Beeline客户端或者任何支持Hive连接的IDE如IntelliJ IDEA。使用CREATE TABLE语句定义表的结构包括列名和数据类型。可以指定表的存储格式如TEXTFILE、SEQUENCEFILE、ORC、PARQUET等和位置HDFS上的路径。可以为表设置分区PARTITIONED BY和桶CLUSTERED BY等属性来优化查询性能和数据组织。CREATE TABLE IF NOT EXISTS my_table (id INT,name STRING,age INT,created_at TIMESTAMP
)
COMMENT This is a sample table
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ,
STORED AS TEXTFILE
LOCATION /user/hive/warehouse/my_database/my_table;TEXTFILE默认格式以纯文本形式存储数据字段通常由特定分隔符如逗号或制表符分隔。
SEQUENCEFILE二进制格式适用于键值对数据可以压缩。
ORC (Optimized Row Columnar)高效的列存储格式适合大型数据集支持高度压缩和快速读取。
PARQUET另一种列式存储格式广泛用于Hadoop生态系统。6.如何对数据仓库中的数据进行可视化是通过某种工具还是
BI工具集成
有许多商业智能BI工具可以连接到Hive并对其数据进行可视化这些包括但不限于Tableau
Power BI
QlikView
Looker
Apache Superset
这些工具通常提供了一个用户友好的界面通过JDBC或ODBC驱动与Hive进行交互并且允许用户创建图表、报表和仪表板。
数据分析平台
一些数据分析平台如Zeppelin或Jupyter Notebook可以与Hive直接交互允许用户写Hive查询并利用Python、R等语言中的可视化库如matplotlib、seaborn、ggplot2等来展示结果。
Hadoop生态集成工具HueHue是一个开源的SQL助手为Hive提供了一个易于使用的Web界面可以执行查询并查看结果。Hue也有基本的图表和可视化功能。
Apache Drill可以通过SQL查询Hive和其他数据源并且与BI工具集成提供数据可视化能力。
自定义应用程序
可以使用各种编程语言如Java、Python、Scala等通过Hive的JDBC或Thrift API连接到Hive执行查询并获取数据。然后可以使用图形库如Python中的matplotlib或JavaScript中的D3.js来创建自定义的可视化。