GDAL-2.4.0 获取Hadoop-3.1.2 hdfs tif文件信息

2023-11-17

GDAL-2.4.0 获取Hadoop-3.1.2 hdfs tif文件信息
  GDAL-2.4.0增加了以下功能:

Add /vsihdfs/ virtual file system handler for Hadoop File System (via libhdfs)
Add /vsiwebhdfs/ read-write virtual file system for Web Hadoop File System REST API

调用方式请查看GDAL Virtual File Systems。

1. hadoop-3.1.2安装:

(1)环境说明
Oracle VM VirtualBox 虚拟机

Master: CentOS7.6-1810_Hadoop_Master hadoop主节点,ip:192.168.56.100;用户xxxx 123456,root 123456;
Node1:CentOS7.6-1810_Hadoop_Node1 hadoop子节点,ip:192.168.56.101;用户xxxx 123456, root 123456。

(2)下载安装包

hadoop-3.1.2;
jdk-8u201-linux-x64;

(3)ssh免密码登录

<1> CentOS默认没有启动ssh无密登录,去掉/etc/ssh/sshd_config其中2行的注释,每台服务器都要设置;
#RSAAuthentication yes 是否允许使用纯RSA公钥认证。仅用于SSH-1。默认值是”yes”。
#PubkeyAuthentication yes 是否允许公钥认证。仅可以用于SSH-2。默认值为”yes”。
说明:这两个都是默认值 yes
如果是默认的话,可以不用设置啦
<2> 输入命令,ssh-keygen -t rsa,生成key,都不输入密码,一直回车,/root就会生成.ssh文件夹,每台服务器都要设置;
<3> 合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并;
cat id_rsa.pub>> authorized_keys
ssh root@192.168.56.100 cat ~/.ssh/id_rsa.pub>> authorized_keys
ssh root@192.168.56.101 cat ~/.ssh/id_rsa.pub>> authorized_keys
<4> 把Master服务器的authorized_keys、known_hosts复制到node1服务器的/root/.ssh目录(注意复制的文件权限要和Master中的一样,否则无效,自己试验了
按以下操作,不需要对红字部分进行检查。
scp -r ~/.ssh/authorized_keys 192.168.56.101:~/.ssh/ #need password
scp -r ~/.ssh/known_hosts 192.168.56.101:~/.ssh/ #noneed
<5> 完成,ssh root@192.168.56.101就不需要输入密码了

(4)安装JDK

<1>下载“jdk-8u201-linux-x64.tar.gz”,放到/home/jdk/目录下;
<2>解压,输入命令,tar -zxvf jdk-8u201-linux-x64.tar.gz;
<3>编辑/etc/profile;
export JAVA_HOME=/home/jdk/jdk1.8.0_201
export CLASSPATH=.:$JAVA_HOME/jre/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 
<4>使配置生效,输入命令,source /etc/profile;
<5>输入命令,java -version,完成。

(5)安装hadoop

只在Master服务器解压,然后复制到Node1服务器
<1>下载“hadoop-3.1.2.tar.gz”,放到/home/hadoop目录下 ;
<2>解压,输入命令,tar -zxvf hadoop-3.1.2.tar.gz;
<3>在/home/hadoop目录下创建数据存放的文件夹,tmp、hdfs、hdfs/data、hdfs/name。

(6)hadoop集群配置 Hadoop Cluster Setup
相关配置文件默认设置可以查看\share\doc\hadoop目录下的xxx-default.xml。
以下配置文件/home/hadoop/hadoop-3.1.2/etc/hadoop
<1>core-site.xml

<configuration>
	<property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.56.100:9000</value><!--NameNode的URL,hdfs://主机名:端口/-->
    </property>
    <property>
        <name>hadoop.tmp.dir</name><!--Hadoop的默认临时路径,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。如果删除了NameNode机器的此目录,那么需要重新执行NameNode格式化命令-->
        <value>file:/home/hadoop/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>

</configuration>

<2>hdfs-site.xml

<configuration>
	<property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hdfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>192.168.56.100:9001</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>

<3>mapred-site.xml

<configuration>
	<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.56.100:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.56.100:19888</value>
    </property>
</configuration>

<4>yarn-site.xml

<configuration>
<!-- Site specific YARN configuration properties -->
	<property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.56.100:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.56.100:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.56.100:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.56.100:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.56.100:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>20480</value><!--这里768需要大些20480,不然有问题,后续查找为什么-->
    </property>
	<property>
       <name>yarn.application.classpath</name>
       <value>/home/hadoop/hadoop-3.1.2/etc/hadoop:/home/hadoop/hadoop-3.1.2/share/hadoop/common/lib/*:/home/hadoop/hadoop-3.1.2/share/hadoop/common/*:/home/hadoop/hadoop-3.1.2/share/hadoop/hdfs:/home/hadoop/hadoop-3.1.2/share/hadoop/hdfs/lib/*:/home/hadoop/hadoop-3.1.2/share/hadoop/hdfs/*:/home/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/lib/*:/home/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/*:/home/hadoop/hadoop-3.1.2/share/hadoop/yarn:/home/hadoop/hadoop-3.1.2/share/hadoop/yarn/lib/*:/home/hadoop/hadoop-3.1.2/share/hadoop/yarn/*</value>
    </property>
</configuration>

<5>hadoop-env .sh 、yarn-env .sh

设置 export JAVA_HOME=/home/jdk/jdk1.8.0_201

<6>修改/home/hadoop/hadoop-3.1.2/etc/hadoop/workers

删除默认的:localhost 添加:192.168.56.101

<7>注意环境变量的设置

 export LD_LIBRARY_PATH=/home/hadoop/hadoop-3.1.2/lib/native:/home/jdk/jdk1.8.0_201/jre/lib/amd64/server:$LD_LIBRARY_PATH

负责会出现2019-03-13 22:26:04,846 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath --glob):$CLASSPATH  //gdalinfo无法识别文件,主要也是jar包没有加载到吧
export PATH=$PATH:$JAVA_HOME/bin:/home/hadoop/hadoop-3.1.2/bin:/home/hadoop/hadoop-3.1.2/sbin/:/home/gdalinstall/bin
export HADOOP_HOME=/home/hadoop/hadoop-3.1.2

如果在启动或者使用gdalinfo 获取hdfs 或者webhdfs是出现问题,注意将所有.jar包加入到CLASSPATH中,缩减路径不行的话,使用全路径

<8>将配置好的Hadoop复制到子节点对应位置

scp -r /home/hadoop 192.168.56.101:/home/

<9>Master服务器启动hadoop
初始化hdfs namenode -format;
全部启动sbin/start-all.sh,也可以分开start-dfs.shstart-yarn.sh
停止stop-all.sh
jps查看相关信息。

注意:
由于是最小化安装,可能需要安装的包

 $tar -zxvf apache-ant-1.10.5-bin.tar.gz 
 $cd apache-ant-1.10.5
 $cd apache-ant-1.10.5
 $export PATH=$PATH:/home/ant/apache-ant-1.10.5/bin

<10>访问测试

systemctl stop firewalld关闭主子节点防火墙;
浏览器打开http://192.168.56.100:9870/
测试MapReduce
hadoop jar /home/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar wordcount /Hadoop/Input /Hadoop/Output

[root@hsmaster home]# hadoop jar /home/hadoop/hadoop-3.1.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.2.jar wordcount /Hadoop/Input /Hadoop/Output
2019-04-16 21:41:13,731 INFO client.RMProxy: Connecting to ResourceManager at /192.168.56.100:8032
2019-04-16 21:41:14,954 INFO mapreduce.JobResourceUploader: Disabling Erasure Coding for path: /tmp/hadoop-yarn/staging/root/.staging/job_1555422038152_0001
2019-04-16 21:41:16,121 INFO input.FileInputFormat: Total input files to process : 1
2019-04-16 21:41:16,753 INFO mapreduce.JobSubmitter: number of splits:1
2019-04-16 21:41:17,527 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1555422038152_0001
2019-04-16 21:41:17,533 INFO mapreduce.JobSubmitter: Executing with tokens: []
2019-04-16 21:41:17,907 INFO conf.Configuration: resource-types.xml not found
2019-04-16 21:41:17,908 INFO resource.ResourceUtils: Unable to find 'resource-types.xml'.
2019-04-16 21:41:18,628 INFO impl.YarnClientImpl: Submitted application application_1555422038152_0001
2019-04-16 21:41:18,774 INFO mapreduce.Job: The url to track the job: http://hsmaster:8088/proxy/application_1555422038152_0001/
2019-04-16 21:41:18,775 INFO mapreduce.Job: Running job: job_1555422038152_0001
2019-04-16 21:41:33,313 INFO mapreduce.Job: Job job_1555422038152_0001 running in uber mode : false
2019-04-16 21:41:33,315 INFO mapreduce.Job:  map 0% reduce 0%
2019-04-16 21:41:42,944 INFO mapreduce.Job:  map 100% reduce 0%
2019-04-16 21:41:51,155 INFO mapreduce.Job:  map 100% reduce 100%
2019-04-16 21:41:53,231 INFO mapreduce.Job: Job job_1555422038152_0001 completed successfully
2019-04-16 21:41:53,435 INFO mapreduce.Job: Counters: 53
	File System Counters
		FILE: Number of bytes read=69
		FILE: Number of bytes written=432893
		FILE: Number of read operations=0
		FILE: Number of large read operations=0
		FILE: Number of write operations=0
		HDFS: Number of bytes read=158
		HDFS: Number of bytes written=43
		HDFS: Number of read operations=8
		HDFS: Number of large read operations=0
		HDFS: Number of write operations=2
	Job Counters 
		Launched map tasks=1
		Launched reduce tasks=1
		Data-local map tasks=1
		Total time spent by all maps in occupied slots (ms)=6093
		Total time spent by all reduces in occupied slots (ms)=5795
		Total time spent by all map tasks (ms)=6093
		Total time spent by all reduce tasks (ms)=5795
		Total vcore-milliseconds taken by all map tasks=6093
		Total vcore-milliseconds taken by all reduce tasks=5795
		Total megabyte-milliseconds taken by all map tasks=6239232
		Total megabyte-milliseconds taken by all reduce tasks=5934080
	Map-Reduce Framework
		Map input records=4
		Map output records=6
		Map output bytes=63
		Map output materialized bytes=69
		Input split bytes=118
		Combine input records=6
		Combine output records=5
		Reduce input groups=5
		Reduce shuffle bytes=69
		Reduce input records=5
		Reduce output records=5
		Spilled Records=10
		Shuffled Maps =1
		Failed Shuffles=0
		Merged Map outputs=1
		GC time elapsed (ms)=252
		CPU time spent (ms)=3000
		Physical memory (bytes) snapshot=530427904
		Virtual memory (bytes) snapshot=5562036224
		Total committed heap usage (bytes)=406847488
		Peak Map Physical memory (bytes)=305770496
		Peak Map Virtual memory (bytes)=2778148864
		Peak Reduce Physical memory (bytes)=224657408
		Peak Reduce Virtual memory (bytes)=2783887360
	Shuffle Errors
		BAD_ID=0
		CONNECTION=0
		IO_ERROR=0
		WRONG_LENGTH=0
		WRONG_MAP=0
		WRONG_REDUCE=0
	File Input Format Counters 
		Bytes Read=40
	File Output Format Counters 
		Bytes Written=43
	
hdfs dfs -cat hdfs://192.168.56.100:9000/Hadoop/Output/part-r-00000
Hello	1
bigdata	1
hadoop	1
hello	2
spark	1

2. GDAL安装:

(1)安装cURL 支持webhdfs访问
curl-7.64.1.tar.gz

$tar -zxvf curl-7.64.1.tar.gz
cd curl-7.64.1
$./configure
$make
$make intsll

(2)安装版本gdal-2.4.0.tar.gz

$tar -zxvf gdal-2.4.0.tar.gz
$cd gdal-2.4.0
$./configure --prefix=/home/gdalinstall --with-java=/home/jdk/jdk1.8.0_201/ --with-hdfs=/home/hadoop/hadoop-3.1.2/ --with-jvm-lib=/home/jdk/jdk1.8.0_201/jre/lib/amd64/server/libjvm.so --with-jvm-lib-add-rpath
$make
$make install

(3)gdalinfo访问hdfs tif文件信息
如果非默认安装,需要将/home/gdalinstall/bin添加到PATH

$gdalinfo /vsihdfs/hdfs://192.168.56.100:9000/gdal_test/GF1_PMS1_E81.9_N33.9_20161221_L1A0002059011-MSS1_oc.tiff
$gdalinfo /vsiwebhdfs/http://192.168.56.100:9870/webhdfs/v1/gdal_test/GF1_PMS1_E81.9_N33.9_20161221_L1A0002059011-MSS1_oc.tiff
[root@hsmaster cUrl]# gdalinfo /vsihdfs/hdfs://192.168.56.100:9000/gdal_test/GF1_PMS1_E81.9_N33.9_20161221_L1A0002059011-MSS1_oc.tiff
Driver: GTiff/GeoTIFF
Files: /vsihdfs/hdfs://192.168.56.100:9000/gdal_test/GF1_PMS1_E81.9_N33.9_20161221_L1A0002059011-MSS1_oc.tiff
Size is 5392, 5395
Coordinate System is:
PROJCS["WGS 84 / UTM zone 44N",
    GEOGCS["WGS 84",
        DATUM["WGS_1984",
            SPHEROID["WGS 84",6378137,298.257223563,
                AUTHORITY["EPSG","7030"]],
            AUTHORITY["EPSG","6326"]],
        PRIMEM["Greenwich",0,
            AUTHORITY["EPSG","8901"]],
        UNIT["degree",0.0174532925199433,
            AUTHORITY["EPSG","9122"]],
        AUTHORITY["EPSG","4326"]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",81],
    PARAMETER["scale_factor",0.9996],
    PARAMETER["false_easting",500000],
    PARAMETER["false_northing",0],
    UNIT["metre",1,
        AUTHORITY["EPSG","9001"]],
    AXIS["Easting",EAST],
    AXIS["Northing",NORTH],
    AUTHORITY["EPSG","32644"]]
Origin = (562777.776901091565378,3769000.594448732677847)
Pixel Size = (7.810000000000000,-7.810000000000000)
Metadata:
  AREA_OR_POINT=Area
Image Structure Metadata:
  INTERLEAVE=PIXEL
Corner Coordinates:
Upper Left  (  562777.777, 3769000.594) 
Lower Left  (  562777.777, 3726865.644) 
Upper Right (  604889.297, 3769000.594) 
Lower Right (  604889.297, 3726865.644) 
Center      (  583833.537, 3747933.119) 
Band 1 Block=2048x2048 Type=UInt16, ColorInterp=Gray
Band 2 Block=2048x2048 Type=UInt16, ColorInterp=Undefined
Band 3 Block=2048x2048 Type=UInt16, ColorInterp=Undefined
Band 4 Block=2048x2048 Type=UInt16, ColorInterp=Undefined
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

GDAL-2.4.0 获取Hadoop-3.1.2 hdfs tif文件信息 的相关文章

  • Curl下载到HDFS

    我有这个代码 curl o fileName csv url xargs hdfs dfs moveFromLocal 1 somePath 当我执行此代码时 curl 将请求中的值放入 fileName csv 中 该文件将移动到 HDF
  • Hadoop 安全模式恢复 - 花费太长时间!

    我有一个包含 18 个数据节点的 Hadoop 集群 我在两个多小时前重新启动了名称节点 并且名称节点仍处于安全模式 我一直在寻找为什么这可能花费太长时间 但找不到好的答案 发帖在这里 Hadoop 安全模式恢复 花费大量时间 https
  • Spark MLLib 存在问题,导致概率和预测对于所有内容都相同

    我正在学习如何将机器学习与 Spark MLLib 结合使用 目的是对推文进行情感分析 我从这里得到了一个情感分析数据集 http thinknook com wp content uploads 2012 09 Sentiment Ana
  • Spark超时可能是由于HDFS中文件超过100万个的binary Files()

    我正在通过以下方式读取数百万个 xml 文件 val xmls sc binaryFiles xmlDir 该操作在本地运行良好 但在纱线上失败并显示 client token N A diagnostics Application app
  • Hive ParseException - 无法识别“结束”“字符串”附近的输入

    尝试从现有 DynamoDB 表创建 Hive 表时出现以下错误 NoViableAltException 88 at org apache hadoop hive ql parse HiveParser IdentifiersParser
  • 2017 年在 OS X 上从源代码构建 Apache Hadoop

    到目前为止 我已经分叉了 Git 存储库 https github com apache hadoop 我一直在寻找有关如何从源代码构建的信息 我尝试过以下命令 mvn package Pdist Dtar DskipTests 这导致了以
  • 如果 HBase 不是运行在分布式环境中,它还有意义吗?

    我正在构建数据索引 这将需要以形式存储大量三元组 document term weight 我将存储多达几百万个这样的行 目前我正在 MySQL 中将其作为一个简单的表来执行 我将文档和术语标识符存储为字符串值 而不是其他表的外键 我正在重
  • Hadoop安装问题:

    我跟着this http www bogotobogo com Hadoop BigData hadoop Install on ubuntu single node cluster phpHadoop 安装教程 不幸的是 当我运行全部启动
  • 如何将Hive数据表迁移到MySql?

    我想知道如何将日期从 Hive 转移到 MySQL 我看过有关如何将 Hive 数据移动到 Amazon DynamoDB 的示例 但没有看到有关如何将 Hive 数据移动到 MySQL 等 RDBMS 的示例 这是我在 DynamoDB
  • 如何在 Hadoop 中将 String 对象转换为 IntWritable 对象

    我想转换String反对IntWritableHadoop 中的对象 任何过程都可以进行转换 IntWritable value new IntWritable Integer parseInt someString 并处理以下可能性par
  • 遍历 ArrayWritable - NoSuchMethodException

    我刚刚开始使用 MapReduce 并且遇到了一个奇怪的错误 我无法通过 Google 回答该错误 我正在使用 ArrayWritable 制作一个基本程序 但是当我运行它时 在Reduce过程中出现以下错误 java lang Runti
  • 在 Amazon EMR 上使用 java 中的 hbase 时遇到问题

    因此 我尝试使用作为 MapReduce 步骤启动的自定义 jar 来查询 Amazon ec2 上的 hbase 集群 我的 jar 在地图函数内 我这样调用 Hbase public void map Text key BytesWri
  • 如何使用 Amazon 的 EMR 在 CLI 中使用自定义 jar 指定 mapred 配置和 java 选项?

    我想知道如何指定mapreduce配置 例如mapred task timeout mapred min split size等等 当使用自定义 jar 运行流作业时 当我们使用 ruby 或 python 等外部脚本语言运行时 我们可以使
  • 猪参考

    我正在学习 Hadoop Pig 并且我总是坚持引用元素 请查找下面的示例 groupwordcount group chararray words bag of tokenTuples from line token chararray
  • hive 从两个数组创建映射或键/值对

    我有两个具有相同数量值的数组 它们映射为 1 1 我需要从这两个数组创建一个键 值对或映射 键 值 任何想法或提示都会有帮助 当前表结构 USA WEST NUMBER Street City 135 Pacific Irvine USA
  • Hive“添加分区”并发

    我们有一个外部 Hive 表 用于处理原始日志文件数据 这些文件每小时一次 并按日期和源主机名分区 目前 我们正在使用简单的 python 脚本导入文件 这些脚本每小时触发几次 该脚本根据需要在 HDFS 上创建子文件夹 从临时本地存储复制
  • 使用Spring批处理从HDFS读取文件

    我必须编写一个 Spring 批处理 它将从 HDFS 读取文件并更新 MySQL DB 中的数据 HDFS 中的源文件包含一些 CSV 格式的报告数据 有人能给我举一个从 HDFS 读取文件的例子吗 Thanks The FlatFile
  • 适用于 Hadoop 的 DynamoDB 输入格式

    我必须使用 Hadoop mapreduce 处理保留在 Amazon Dynamodb 中的一些数据 我在互联网上搜索 Dynamo DB 的 Hadoop InputFormat 但找不到它 我对 Dynamo DB 不熟悉 所以我猜测
  • 如何创建 HIVE 表来读取分号分隔值

    我想创建一个 HIVE 表 该表将以分号分隔的值读取 但我的代码不断给出错误 有没有人有什么建议 CREATE TABLE test details Time STRING Vital STRING sID STRING PARTITION
  • 在 Windows 7 64 位中删除 Spark 临时目录时出现异常

    我正在尝试在 Windows 7 64 位中运行 Spark 作业的单元测试 我有 HADOOP HOME D winutils winutils path D winutils bin winutils exe 我运行了以下命令 winu

随机推荐

  • 初学容器:Docker

    1 环境初始化 1 1 安装git vim curl等常用工具 sudo apt update sudo apt install y git vim curl jq 1 2 ubuntu是不支持远程连接的 需要安装ssh服务 sudo ap
  • 剑指Offer【37】数字在排序数组中出现的次数(JavaScript版本)

    题目描述 统计一个数字在排序数组中出现的次数 function GetNumberOfK data k write code here var start data indexOf k count 0 i start while i lt
  • uni-app原生子窗体(app端)

    在uni app中video是原生组件 层级最高 全屏后普通前端组件无法覆盖 如果想要在视频自行绘制界面 1 app端vue页面可以用 cover view cover image 但是cover view cover image中不支持嵌
  • OPENCV C++ 找到最大内接矩形(正方形)

    OPENCV C 找到最大内接矩形 正方形 这源代码本来是检测最大内接圆形的 本人想要矩形 所以变成了正方形 谨慎使用 不是严格意义上的最大内接矩形 cv Mat map one label cv imread src png cv2 IM
  • 程序员,不止干到35岁

    程序员 不止干到35岁 在中国 程序员不能超过35岁 似乎已经是不争的事实 软件开发工作就是青春饭 顶多靠毕业这十年的时间 超过这个年龄 要不成功跃身成为管理者 要不转行进入其他领域 好像再没有更好的选择 即使偶有继续坚持作开发的 也被看成
  • Mybatis简单的增删改查和mybatis配置文件的详解

    MyBatis 1 什么是Mybatis MyBatis是一款优秀的持久层框架 MyBatis避免了几乎所有的JADBC代码和手动设置参数以及获取结果集 MyBatis可以使用简单的XML或注解来配置和映射原生类型 接口和Java的POJO
  • 使用Jest测试接口时间

    引言 在开发和测试过程中 我们经常需要对接口的性能进行评估和优化 一个重要的指标是接口的执行时间 本文将介绍如何使用Jest来测试接口的执行时间 并提供示例代码 Jest简介 Jest 是一个流行的JavaScript测试框架 广泛应用于前
  • 整理了60个 Python 实战例子,拿来即用

    大家好 最近有一些朋友问我有没有一些 Python 实战小案例 今天我整理排版了一遍 给大家分享一下 喜欢记得点赞 收藏 关注 整理了60个Python小例子 拿来即用 一 数字 1 求绝对值 绝对值或复数的模 公众号 快学Python I
  • python与pyqt5把列表中的数据写入到一个新的excel表中,并选择保存路径

    您可以使用 Python 的 openpyxl 库来实现这个功能 首先 您需要通过在命令行中运行 pip install openpyxl 来安装 openpyxl 库 然后 您可以使用以下代码来将列表中的数据写入新的 Excel 表中 f
  • mysql中drop语法错误,mysql 中drop 库的问题

    最近drop database pai 报错 ERROR 1010 HY000 Error dropping database can t rmdir pai errno 39 我就想把库文件直接删除试试 于是 rm rf usr loca
  • 区块链的基本概念

    区块链是分布式数据存储 点对点传输 共识机制 加密算法等计算机技术的新型应用模式 所谓共识机制是区块链系统中实现不同节点之间建立信任 获取权益的数学算法 区块链技术的内涵可概括为 在缺少可信任的中央节点和可信任的通道的情况下 分布在网络中的
  • All O`one Data Structure

    学习地址 双向链表 key为count数 value为存入的字符串 增加一个字符串 先判断其Node位置 再在双向链表中插入 删除也是 最大最小的字符串数在双向链表的表尾和表头 记录学习一下 class AllOne Node root M
  • STM32的介绍及MDK

    文章目录 STM32介绍 单片机 STM32命名 armV7的三个系列 STM32系统结构 CMSIS标准 STM32F4方包绍官方库包 STM32F103 STM32F103资源 STM32F103总线架构 STM32F103引脚 STM
  • 基于keras的图像分类CNN模型的搭建以及可视化(附详细代码)

    基于keras的图像分类CNN模型的搭建以及可视化 本文借助keras实现了热图像的分类模型的搭建 以及可视化的工作 本文主要由以下内容组成 Keras模型介绍 CNN模型搭建 模型可视化 Keras模型介绍 简介 Keras 是 Goog
  • Canvas实例之鼠标移动特效(彩色小球)

    实现鼠标移动跟随着绽放的彩色小球 完整代码在文档末尾 图示 思路 获取画布 获取画布 var canvas document getElementById mycanvas 获取上下文 var ctx canvas getContext 2
  • 嵌入式毕业设计 树莓派实现口罩佩戴检测识别 - 单片机 物联网 机器视觉

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 硬件设计 树莓派4B 5 软件说明 Debian Pi Aarch64 树莓派操作系统 vnc 远程连接树莓派 opencv 摄像头人脸数据采集 人脸数据显示等 6 部分核心代码
  • 顺序表、链表元素的就地逆置。

    目录 一 顺序表元素的就地逆置 1 完整代码 2 解题思路流程 二 链表元素的就地逆置 1 完整代码 2 解题思路流程 一 顺序表元素的就地逆置 1 完整代码 include
  • Vue的生命周期

    一 初始化阶段 1 new Vue Vue实例化 组件也是一个小的Vue实例 2 Init Events Lifecycle 初始化事件和生命周期函数 3 beforeCreate 生命周期钩子函数被执行 4 Init injections
  • 战争科学论——认识和理解战争的科学基础和思维方法

    胡晓峰 1973年中学毕业赴湖南农村插队当过三年知青 1976年回城后当过工人 1977年考入国防科技大学系统工程与数学系信息系统工程专业学习 1981年底毕业后留校任教 后又攻读了研究生 1987年在读信息系统工程研究生期间 曾赴美国加州
  • GDAL-2.4.0 获取Hadoop-3.1.2 hdfs tif文件信息

    GDAL 2 4 0 获取Hadoop 3 1 2 hdfs tif文件信息 GDAL 2 4 0增加了以下功能 Add vsihdfs virtual file system handler for Hadoop File System