配置HDFS
配置HDFS应该是一件不难的事情。首先,我们先配好HDFS的配置文件,再对NameNode进行format操作。
配置Cluster
这里,我们假定,你已经下载了Hadoop的一个版本,并解压完毕。
Hadoop安装目录下的conf是hadoop存放配置文件的目录,里面有一些XML文件需要配置。conf/hadoop-defaults.xml 文件包含了hadoop的任何参数的默认值。这个文件应该是只读的。你可以通过在conf/hadoop-site.xml中设置新值的方式来覆盖默认的 配置。集群上所有的机器的hadoop-site.xml文件应该是一致的。
配置文件本身是键值对的一个集合。
Xml代码
1. <property>
2. <name>property-name</name>
3. <value>property-value</value>
4. </property>
<property> <name>property-name</name> <value>property-value</value> </property>
property 中有 <final>true</final> 这样的一行的,则表示这个属性是不能被用户应用程序覆盖的。
下面的一些属性是必须要配置的,这样HDFS才能跑起来:
key value example
fs.default.name protocol://servername:port hdfs://alpha.milkman.org:9000
dfs.data.dir pathname /home/username/hdfs/data
dfs.name.dir pathname /home/username/hdfs/name
这些属性的有着如下的意思:
fs.default.name - 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。 DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的 块列表。
dfs.data.dir - 这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样 的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值是/temp, 这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。
dfs.name.dir - 这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于 /temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。
这里再介绍一个配置参数,它叫dfs.replication 。它决定着 系统里面的文件块的数据备份个数。对于一个实际的应用,它 应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)。
下面是一个模板文件。
Xml代码
1. <configuration>
2. <property>
3. <name>fs.default.name</name>
4. <value>hdfs://your.server.name.com:9000</value>
5. </property>
6. <property>
7. <name>dfs.data.dir</name>
8. <value>/home/username/hdfs/data</value>
9. </property>
10. <property>
11. <name>dfs.name.dir</name>
12. <value>/home/username/hdfs/name</value>
13. </property>
14. </configuration>
<configuration> <property> <name>fs.default.name</name> <value>hdfs://your.server.name.com:9000</value> </property> <property> <name>dfs.data.dir</name> <value>/home/username/hdfs/data</value> </property> <property> <name>dfs.name.dir</name> <value>/home/username/hdfs/name</value> </property> </configuration>
your.server.name.com 需要被配置成正确的主机名,端口号的指定是随意的。
配置好conf/hadoop-site.xml文件以后,你可以将conf目录拷贝到其他的机器上了。
master结点有必要知道集群里其他机器的的地址,这样启动脚本才能正常运行。conf/slaves这个文件列举了所有的可用的主机名,一个主机名一 行。在一个集群的环境中,这个文件不需要包含master的地址。但是单机的情况下,master也要有,因为除了master以外,没有其他的机器可以 作为DataNode结点了。
然后,建立我们要使用的目录:
Shell代码
1. user@EachMachine$ mkdir -p $HOME/hdfs/data
2.
3. user@namenode$ mkdir -p $HOME/hdfs/name
user@EachMachine$ mkdir -p $HOME/hdfs/data user@namenode$ mkdir -p $HOME/hdfs/name
执行Hadoop的用户需要这些目录的读写权限,使用chmod命令为该用户设置权限。在一个大的集群环境中,我建议你在每台机器上都创建一个 hadoop的用户,用它来执行hadoop相关的程序。对于一个单机系统,使用自己的用户名就可以了。我不推荐使用root用户来执行hadoop。
启动HDFS
现在,我们先格式化一下我们刚刚配置的hadoop文件系统。
Java 代码
1. user@namenode:hadoop$ bin/hadoop namenode -format
user@namenode:hadoop$ bin/hadoop namenode -format
这个操作应该值被执行一次,当这个执行完毕之后,我们就可以启动分布式系统了。
Shell 代码
1. user@namenode:hadoop$ bin/start-dfs.sh
user@namenode:hadoop$ bin/start-dfs.sh
这个命令将会启动master机器上的Namenode程序。它也会启动slave机器上的DataNode程序。在一个单机版的集群中,slave跟 master是同一台机器。在一个真实的集群环境中,这个命令就通过ssh登录到slave上,并启动DataNode程序。
Interacting With HDFS
这个部分,我们将会熟悉与 HDFS交互、存储文件、获取文件所需要用到的一些命令。
大多数命名都是由 bin/hadoop 脚本执行的。它将会在java虚拟机上加载hadoop系统,并执行用户地方命令。这些命令通常有下列的格式。
Shell 代码
1. user@machine:hadoop$ bin/hadoop moduleName -cmd args...
user@machine:hadoop$ bin/hadoop moduleName -cmd args...
The moduleName 告诉脚本程序,要使用哪个hadoop模块。-cmd 在这被指定模块支持的,要执行的命令名称。紧跟在命令名称后面的是该命令的参数。
HDFS主要的模块有: dfs 和 dfsadmin。它们的使用将会在下面介绍。
通用操作的例子
dfs 模块,我们也叫它“FsShell”,提供基本的文件处理功能。以下是它的一些用法介绍。
集群之所以有用,是因为,它存有我们感兴趣的数据。所以,我们要介绍的第一个操作是,往集群里面写数据。我们假定用户为“someone”,这个 要根据你的实际情况而定。操作是可以在任何一台能够访问到集群的机器上进行的,其中,conf/hadoop-site.xml文件必须设为集群中 NameNode的地址。命令可以在安装目录下被运行,安装目录可以是/home/someone/src/hadoop也可以是/home/foo /hadoop,具体随你自己的情况而定。下面介绍的命令,主要是关于将数据导入HDFS,验证数据是不是真的导入了,并将数据导出来。
列出文件
当我们试图使用HDFS的时候,会发现它并没有想象中的有趣:
Shell代码
1. someone@anynode:hadoop$ bin/hadoop dfs -ls
2. someone@anynode:hadoop$
someone@anynode:hadoop$ bin/hadoop dfs -ls someone@anynode:hadoop$
没有带参数的这个“-ls”命令,没有返回任何值,它默认返回你在HDFS“home”目录下的内容,这个目录跟我们平常系统上的home目录 “/home/$user”不太一样(HDFS跟本地系统是独立的)。在HDFS中,没有当前工作目录这样的一个概念,也没有cd这个命令。
给 -ls一些参数,比如说/,或许可以看到以下的内容:
Shell 代码
1. someone@anynode:hadoop$ bin/hadoop dfs -ls /
2. Found 2 items
3. drwxr-xr-x - hadoop supergroup 0 2008-09-20 19:40 /hadoop
4. drwxr-xr-x - hadoop supergroup 0 2008-09-20 20:08 /tmp
someone@anynode:hadoop$ bin/hadoop dfs -ls / Found 2 items drwxr-xr-x - hadoop supergroup 0 2008-09-20 19:40 /hadoop drwxr-xr-x - hadoop supergroup 0 2008-09-20 20:08 /tmp
这些结果是由系统产生的,结果中的"hadoop"是我们用来启动的Hadoop的用户,supergroup是包含 hadoop的一个组。这些目录允许 Hadoop MapReduce system 将数据移动到不同的结点上。具体的细节在Module 4中介绍.
我们要创建我们自己的home目录,然后导入一些文件。
导入数据
典型的UNIX或Linux将用户文件存储在/home/$user目录下,但是hadoop将用户文件存储在/user/$user下。对于某些 命令,例如 ls,目录参数是被要求有的,但实际上却没有填写,这时候的目录参数的值为默认目录。(其他的命令一般要求明确的源路径和目的路径)。在HDFS中使用的 相对路径,都是基于刚刚介绍的基本路径的(也即是用户目录)。
Step 1: 如果你的用户目录还不存在,那么创建一个吧
Shell代码
1. someone@anynode:hadoop$ bin/hadoop dfs -mkdir /user
someone@anynode:hadoop$ bin/hadoop dfs -mkdir /user
如果没有/user目录,那么首先要先创建它。它其实会被自动创建的,但是为了介绍的目的,我们先手动的创建一下这个目录。
下面我们就可以创建我们的home目录了。
Shell 代码
1. someone@anynode:hadoop$ bin/hadoop dfs -mkdir /user/someone
someone@anynode:hadoop$ bin/hadoop dfs -mkdir /user/someone
将 /user/someone 改成 /user/yourUserName.
Step 2: 导入一个文件。我们可以使用"put"命令。
Shell 代码
1. someone@anynode:hadoop$ bin/hadoop dfs -put /home/someone/interestingFile.txt /user/yourUserName/
someone@anynode:hadoop$ bin/hadoop dfs -put /home/someone/interestingFile.txt /user/yourUserName/
它将会把 /home/someone/interestingFile.txt从本地文件系统中拷贝到 HDFS 的 /user/yourUserName/interestingFile.txt 。
Step 3: 验证刚才的操作。这里我们有两个命令可以使用,它们是等效的:
Shell代码
1. someone@anynode:hadoop$ bin/hadoop dfs -ls /user/yourUserName
2. someone@anynode:hadoop$ bin/hadoop dfs -ls
someone@anynode:hadoop$ bin/hadoop dfs -ls /user/yourUserName someone@anynode:hadoop$ bin/hadoop dfs -ls
你应该能够看见一个文件列表,它的前面是"Found 1 items"的字样,文件列表里面包含了你刚刚插入的文件。
The following table demonstrates example uses of the put command, and their effects:
下面这个列表将展示“put”命令的用法,以及它们的效果。
Command: 前提条件: 输出:
bin/hadoop dfs -put foo bar 在 HDFS中没有/user/$User/bar这样的文件存在 将本地文件foo上传到hdfs系统,并命名为/user/$USER/bar
bin/hadoop dfs -put foo bar /user/$USER/bar 是一个目录 将本地文件foo上传到hdfs系统,并命名为/user/$USER/bar/foo
bin/hadoop dfs -put foo somedir/somefile /user/$USER/somedir 不存在 将本地文件foo上传到hdfs系统,并命名为 /user/$USER/somedir/somefile, 创建没有存在的目录
bin/hadoop dfs -put foo bar /user/$USER/bar 已经是系统中的一个文件 操作无效,系统将返回一个错误给用户。
当执行一个"put"操作时,它的结果是要么全做,要么全不做。上传文件的时候,文件首先被拷贝到DataNode节点上。当所有的 DataNode都接收完数据的时候,文件句柄被关闭,这个文件才真正的上传完。根据"put"命令的返回值,我们可以知道这个操作是成功了,还是完全失 败了。文件不可能会只被上传一半。如果文件上传到一半时,上传操作被中断了,那么hdfs就会当作什么事情也没有发生一样。
Step 4: 一次上传多个文件. "put"命令是可以一次上传多个命令的,它能够将一整个目录上传到HDFS中。
创建一个本地目录,然后往里面拷一些文件。情况像下面的那样。
Shell代码
1. someone@anynode:hadoop$ ls -R myfiles
2. myfiles:
3. file1.txt file2.txt subdir/
4.
5. myfiles/subdir:
6. anotherFile.txt
7. someone@anynode:hadoop$
someone@anynode:hadoop$ ls -R myfiles myfiles: file1.txt file2.txt subdir/ myfiles/subdir: anotherFile.txt someone@anynode:hadoop$
目录 myfiles/能够这样被拷贝进HDFS中:
Shell代码
1. someone@anynode:hadoop$ bin/hadoop -put myfiles /user/myUsername
2. someone@anynode:hadoop$ bin/hadoop -ls
3. Found 1 items
4. /user/someone/myfiles <dir> 2008-06-12 20:59 rwxr-xr-x someone supergroup
5. user@anynode:hadoop bin/hadoop -ls myfiles
6. Found 3 items
7. /user/someone/myfiles/file1.txt <r 1> 186731 2008-06-12 20:59 rw-r--r-- someone supergroup
8. /user/someone/myfiles/file2.txt <r 1> 168 2008-06-12 20:59 rw-r--r-- someone supergroup
9. /user/someone/myfiles/subdir <dir> 2008-06-12 20:59 rwxr-xr-x someone supergroup
someone@anynode:hadoop$ bin/hadoop -put myfiles /user/myUsername someone@anynode:hadoop$ bin/hadoop -ls Found 1 items /user/someone/myfiles <dir> 2008-06-12 20:59 rwxr-xr-x someone supergroup user@anynode:hadoop bin/hadoop -ls myfiles Found 3 items /user/someone/myfiles/file1.txt <r 1> 186731 2008-06-12 20:59 rw-r--r-- someone supergroup /user/someone/myfiles/file2.txt <r 1> 168 2008-06-12 20:59 rw-r--r-- someone supergroup /user/someone/myfiles/subdir <dir> 2008-06-12 20:59 rwxr-xr-x someone supergroup
上面的例子也证明了,这个目录是完全的被拷贝进来了。注意文件路径旁边的<r 1>,里面的数字1 表示备份的数量是1。同时ls命令也列出了文件大小,上传时间,权限,所有者这些信息。
-put 的另外一种写法是 -copyFromLocal. 它们的功能和用法是一样的。
从 HDFS 中导出数据
从HDFS中导出数据是有许多的方法的,最简单的那种应该是使用"cat"将一个文件的内容输出到标准输出上。(当然,它也能够作为参数传到程序里面,或者是其他地方)
Step 1: cat 命令.
在这个例子中,我们假定你已经传了一些文件进入你的HDFS中了。
Shell 代码
1. someone@anynode:hadoop$ bin/hadoop dfs -cat foo
2. (contents of foo are displayed here)
3. someone@anynode:hadoop$
someone@anynode:hadoop$ bin/hadoop dfs -cat foo (contents of foo are displayed here) someone@anynode:hadoop$
Step 2: 将HDFS中的文件拷贝到本地系统中。
"get"命令有跟"put"命令相反的功能,它能够将HDFS中文件或目录拷贝到本地系统中。“get”命令的别名叫做copyToLocal.
Shell代码
1. someone@anynode:hadoop$ bin/hadoop dfs -get foo localFoo
2. someone@anynode:hadoop$ ls
3. localFoo
4. someone@anynode:hadoop$ cat localFoo
5. (contents of foo are displayed here)
someone@anynode:hadoop$ bin/hadoop dfs -get foo localFoo someone@anynode:hadoop$ ls localFoo someone@anynode:hadoop$ cat localFoo (contents of foo are displayed here)
跟 "put"命令一样,"get"操作既可以操作文件,也可以操作目录。
HDFS 的关闭
如果你想关闭集群上的HDFS系统,你可以在NameNode结点执行以下的命令:
Shell代码
1. someone@namenode:hadoop$ bin/stop-dfs.sh
someone@namenode:hadoop$ bin/stop-dfs.sh
这个命令必须由启动HDFS的用户来执行。
HDFS 命令参考
当然 bin/hadoop dfs 的命令远不只这几个,不过这些命令已经可以让你开始使用HDFS了。执行没有带参数的bin/hadoop dfs命令,会列出所有的FsShell system的命令。 bin/hadoop dfs -help commandName 会列出某一个具体的命令的用法指南。
DFSAdmin 命令参考
''dfs"模块提供了对文件和目录的操作命令,"dfsadmin"则提供了管理整个文件系统的操作。
全局状态信息: 通过 bin/hadoop dfsadmin -report命令,我们可以得到一份全局状态报告。这份报告包含了HDFS集群的基本信息,当然也有每台机器的一些情况。
详细的状态信息: 如果你想要知道关于文件的详细信息,你可以使用bin/hadoop dfsadmin -metasave filename 命令,filename是你要查看的文件的名称。NB:它的帮助说,这个命令可以得到NameNode 的主要的结构,这个说法是不恰当的。从这个命令所返回的信息无法得到NameNode的状态。不过,它却说明了,NameNode是怎么样存储HDFS的文件块的。
Safemode: 在Safemode(安全模式) 下,HDFS是只读的。任何的复制,创建,删除操作都是禁止的。在NameNode启动的时候,系统会自动进入这个模式,DataNode 会在这时候注册到NameNode中,并告诉NameNode它们拥有哪些文件块,NameNode由此知道哪些文件块的备份被丢失了。一直到一定百分比 的的数量的DataNodes正常工作后,NameNode会退出安全模式。这个百分比在dfs.safemode.threshold.pct 中配置。当达到一定的百分比的时候,安全模式会自动退出,HDFS就允许正常操作了。用户可以通过dfsadmin -safemode what 来操作安全模式,参数what的说明如下:
* enter - 进入安全模式
* leave - 强制NameNode离开安全模式
* get - 返回安全模式是否开启的信息
* wait - 等待,一直到安全模式结束。
改变 HDFS 成员组成 - 删除结点的时候,我们要按步骤的和结点断开链接以保证数据不会丢失。关于decommissioning 命令的一些详细的信息,我们会在后面讨论。
升级 HDFS - 但HDFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。当你第一次使用新版本的时候,你要使用 bin/start-dfs.sh -upgrade告诉Hadoop 去改变HDFS版本(否则,新版本不会生效)。然后它开始升级,你可以通过 bin/hadoop dfsadmin -upgradeProgress 命令来查看版本升级的情况。当然你可以使用bin/hadoop dfsadmin -upgradeProgress details来查看更多的详细信息。当升级过程被阻塞的时候,你可以使用bin/hadoop dfsadmin -upgradeProgress force 来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。
当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,以便你可以方便的对HDFS进行降级操作。你可以使用bin/start-dfs.sh -rollback来执行降级操作。
Hadoop一次只保存一个版本的备份。当新版本运行几天以后还是没有出现什么问题,你就可以使用bin/hadoop dfsadmin -finalizeUpgrade命令把旧版本的备份从系统中删掉了。删除以后rollback 命令就失效了。在另外一次版本升级前,这个操作是一定要 做的。
获取帮助 - 跟 dfs 模块是一样的, 你可以使用 bin/hadoop dfsadmin -help命令来获取特定的命令的一些用法。
hadoop 机架感知功能
分享到:
相关推荐
内容概要:本文档详细介绍了基于 MATLAB 实现的 LSTM-AdaBoost 时间序列预测模型,涵盖项目背景、目标、挑战、特点、应用领域以及模型架构和代码示例。随着大数据和AI的发展,时间序列预测变得至关重要。传统方法如 ARIMA 在复杂非线性序列中表现欠佳,因此引入了 LSTM 来捕捉长期依赖性。但 LSTM 存在易陷局部最优、对噪声鲁棒性差的问题,故加入 AdaBoost 提高模型准确性和鲁棒性。两者结合能更好应对非线性和长期依赖的数据,提供更稳定的预测。项目还展示了如何在 MATLAB 中具体实现模型的各个环节。 适用人群:对时间序列预测感兴趣的开发者、研究人员及学生,特别是有一定 MATLAB 编程经验和熟悉深度学习或机器学习基础知识的人群。 使用场景及目标:①适用于金融市场价格预测、气象预报、工业生产故障检测等多种需要时间序列分析的场合;②帮助使用者理解并掌握将LSTM与AdaBoost结合的实现细节及其在提高预测精度和抗噪方面的优势。 其他说明:尽管该模型有诸多优点,但仍存在训练时间长、计算成本高等挑战。文中提及通过优化数据预处理、调整超参数等方式改进性能。同时给出了完整的MATLAB代码实现,便于学习与复现。
palkert_3ck_01_0918
pepeljugoski_01_1106
tatah_01_1107
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
题目:基于单片机的步进电机控制系统 模块: 主控:AT89C52RC 步进电机(ULN2003驱动) 按键(3个) 蓝牙(虚拟终端模拟) 功能: 1、可以通过蓝牙远程控制步进电机转动 2、可以通过按键实现手动与自动控制模式切换。 3、自动模式下,步进电机正转一圈,反转一圈,循环 4、手动模式下可以通过按键控制步进电机转动(顺时针和逆时针)
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
内容概要:本文详细介绍了建设智慧校园平台所需的六个关键步骤。首先通过需求分析深入了解并确定校方和使用者的具体需求;其次是规划设计阶段,依据所得需求制定全面的建设方案。再者是对现有系统的整合——系统集成,确保新旧平台之间的互操作性和数据一致性。培训支持帮助全校教职工和学生快速熟悉新平台,提高效率。实施试点确保系统逐步稳定部署。最后,强调持续改进的重要性,以适应技术和环境变化。通过这一系列有序的工作,可以使智慧校园建设更为科学高效,减少失败风险。 适用人群:教育领域的决策者和技术人员,包括负责信息化建设和运维的团队成员。 使用场景及目标:用于指导高校和其他各级各类学校规划和发展自身的数字校园生态链;目的是建立更加便捷高效的现代化管理模式和服务机制。 其他说明:智慧校园不仅仅是简单的IT设施升级或软件安装,它涉及到全校范围内的流程再造和创新改革。
该文档系统梳理了人工智能技术在商业场景中的落地路径,聚焦内容生产、电商运营、智能客服、数据分析等12个高潜力领域,提炼出100个可操作性变现模型。内容涵盖AI工具开发、API服务收费、垂直场景解决方案、数据增值服务等多元商业模式,每个思路均配备应用场景拆解、技术实现路径及收益测算框架。重点呈现低代码工具应用、现有平台流量复用、细分领域自动化改造三类轻量化启动方案,为创业者提供从技术选型到盈利闭环的全流程参考。
palkert_3ck_02_0719
克鲁格曼专业化指数,最初是由Krugman于1991年提出,用于反映地区间产业结构的差异,也被用来衡量两个地区间的专业化水平,因而又称地区间专业化指数。该指数的计算公式及其含义可以因应用背景和具体需求的不同而有所调整,但核心都是衡量地区间的产业结构差异或专业化程度。 指标 年份、城市、第一产业人数(first_industry1)、第二产业人数(second_industry1)、第三产业人数(third_industry1)、专业化指数(ksi)。
AB PLC例程代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
精品推荐,通信技术LTE干货资料合集,19份。 LTE PCI网络规划工具.xlsx LTE-S1切换占比专题优化分析报告.docx LTE_TDD问题定位指导书-吞吐量篇.docx LTE三大常见指标优化指导书.xlsx LTE互操作邻区配置核查原则.docx LTE信令流程详解指导书.docx LTE切换问题定位指导一(定位思路和问题现象).docx LTE劣化小区优化指导手册.docx LTE容量优化高负荷小区优化指导书.docx LTE小区搜索过程学习.docx LTE小区级与邻区级切换参数说明.docx LTE差小区处理思路和步骤.docx LTE干扰日常分析介绍.docx LTE异频同频切换.docx LTE弱覆盖问题分析与优化.docx LTE网优电话面试问题-应答技巧.docx LTE网络切换优化.docx LTE高负荷小区容量优化指导书.docx LTE高铁优化之多频组网优化提升“用户感知,网络价值”.docx
matlab程序代码项目案例 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
pepeljugoski_01_0508
szczepanek_01_0308
oif2007.384.01_IEEE
stone_3ck_01_0119
oganessyan_01_1107