gitweixin
  • 首页
  • 小程序代码
    • 资讯读书
    • 工具类
    • O2O
    • 地图定位
    • 社交
    • 行业软件
    • 电商类
    • 互联网类
    • 企业类
    • UI控件
  • 大数据开发
    • Hadoop
    • Spark
    • Hbase
    • Elasticsearch
    • Kafka
    • Flink
    • 数据仓库
    • 数据挖掘
    • flume
    • Kafka
    • Hive
    • shardingsphere
    • solr
  • 开发博客
    • Android
    • php
    • python
    • 运维
    • 技术架构
    • 数据库
  • 程序员网赚
  • bug清单
  • 量化投资
  • 在线查询工具
    • 去行号
    • 在线时间戳转换工具
    • 免费图片批量修改尺寸在线工具
    • SVG转JPG在线工具

分类归档大数据开发

精品微信小程序开发门户,代码全部亲测可用

  • 首页   /  
  • 分类归档: "大数据开发"
  • ( 页面21 )
python, 运维 3月 25,2023

Centos安装Anaconda的理由和教程

选择理由

选择Anaconda3安装Python环境的主要理由如下:

  1. 方便安装第三方库 Anaconda3中已经预先安装了许多常用的第三方库,如NumPy、Pandas、Matplotlib等。这些库是数据科学和机器学习等领域中必不可少的工具,使用Anaconda3可以避免手动安装这些库所带来的麻烦。
  2. 管理Python虚拟环境 Anaconda3提供了一个名为conda的包管理工具,可以方便地创建、管理和切换Python虚拟环境。这对于同时开发多个项目或在同一项目中使用不同版本的Python非常有用。
  3. 跨平台支持 Anaconda3可以在Linux、Windows和MacOS等多个平台上运行,这使得开发者可以在不同的平台上使用相同的Python环境进行开发和测试。
  4. 简化Python安装过程 Anaconda3提供了一个一键安装的方式,用户无需手动配置Python环境,也无需担心依赖库的问题。这使得Python的安装变得非常简单和快速。 综上所述,选择Anaconda3作为Python环境的主要原因是其提供了方便的第三方库安装、Python虚拟环境管理、跨平台支持和简化的安装过程。

安装教程

1、下载Anaconda3 在Anaconda官网中下载适合CentOS版本的Anaconda3,下载完成后将文件上传到CentOS服务器上。国内的可以选择清华大学的镜像,https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/。例如在centos终端输入下载地址

 wget  --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2022.10-Linux-x86_64.sh

2、安装Anaconda3 打开终端,进入Anaconda3所在目录,运行以下命令进行安装:

chmod +x Anaconda3-xxx-Linux-x86_64.sh
./Anaconda3-xxx-Linux-x86_64.sh

其中,xxx为版本号,需要根据实际情况进行替换。安装过程中需要按照提示进行操作,如选择安装路径等。

3. 配置环境变量 在终端输入以下命令,打开~/.bashrc文件:

vi ~/.bashrc

在文件末尾添加以下内容:

export PATH="/root/anaconda3/bin:$PATH"

其中,/root/anaconda3为Anaconda3的安装路径,需要根据实际情况进行替换。 保存并退出~/.bashrc文件,然后运行以下命令使环境变量生效:

source ~/.bashrc
  1. 验证安装 在终端输入以下命令,查看Anaconda3的版本信息:
conda -V

如果显示Anaconda3的版本号,则表示安装成功。

使用教程

在CentOS上使用Anaconda3运行代码的步骤如下:

  1. 打开终端,输入以下命令激活Anaconda3环境:
source /root/anaconda3/bin/activate

其中,/root/anaconda3为Anaconda3的安装路径,需要根据实际情况进行替换。 2. 进入到您的代码所在的目录。 3. 运行您的Python代码,例如:

python example.py

其中,example.py为您的Python代码文件名。 4. 运行完成后,可以输入以下命令退出Anaconda3环境:

conda deactivate

另外,如果您使用Jupyter Notebook来运行Python代码的话,可以在终端中输入以下命令启动Jupyter Notebook:

jupyter notebook

然后在浏览器中打开http://localhost:8888/,就可以使用Jupyter Notebook来编辑和运行Python代码了。

作者 east
Hive 1月 24,2023

数仓开发常用hive命令

在做数仓开发或指标开发时,是一个系统工程,要处理的问题非常多,经常使用到下面这些hive命令:

内部表转外部表

alter table ${tablename} set tblproperties (‘EXTERNAL’=True’);

外部表转内部表

alter table ${tablename} set tblproperties (‘EXTERNAL’=False’);

显示分区

show partitions ${tablename};

创建分区

alter table ${tablename} add if not exists partition(dt=’2022-11-08′)

删除分区

alter table ${tablename} drop partition(dt=’2022-11-21′)

修改分区

alter table ${tablename} partition(dt=’2022-11-08′) rename to partition(dt=’2022-11-21′)

获取table详细描述信息、存储格式等

desc formatted ${tablename}

修改hive表路径

alter table ${tablename} set location ‘${warehouse.dir}’

hive加载本地数据到分区表

load data local inpath ‘/tmp/test.txt’ into table ${tablename} partition (dt=’2022-11-08′);

加载本地目录的数据到分区表

load data inpath ‘/tmp’  into table ${tablename}  partition (dt=’2022-11-08′);

排他锁解锁

set hive.support.concurrency=true;  

set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DummyTxnManager;

设置session具有Admin权限

set role admin;

授予所有权限给某个用户

grant all on ${dbName} to user {userName};

查看指定用户在所有库下面的权限

show grant user {userName};

查看指定用户在某个库的权限

show grant user {userName} on database {dbName};

 授予某个库的权限给某个用户

grant select on database {dbName} to user {userName};

grant insert on database {dbName} to user {userName};

grant update on database {dbName} to user {userName};

grant delete on database {dbName} to user {userName};

Hive赋予用户某表权限

grant create on database {dbName} to user {userName};

grant select on table 库名.表名 to user 用户名 ;

grant insert on table {dbName}.tableName to user {userName};

grant update on table {dbName}.tableName to user {userName};

grant delete on table {dbName}.tableName to user {userName};

作者 east
Spark 1月 23,2023

数仓的生命周期管理策略和ETL命令

 在做数仓开发过程中,遇到一个问题就是随着数据量增大,存储空间增加惊人:hdfs的文件要存3份(可以修改副本份数),ods、dwd、dws、ads等各层都需要存储空间,指标计算过程如果内存不够又会缓冲在硬盘。而更严重的问题是:如果CDH依赖某个目录的存储空间严重不够,就会导致Yarn的任务执行失败。

   所以对数仓的生命周期管理尤为重要。数仓的生命周期管理的核心目的就是用最少的存储成本来满足最大的业务需求,使数据价值最大化。

对数仓的历史数据可以分为P0、P1、P2、P3这4个不同优先级,其具体定义如下。

• P0:非常重要的主题域数据和非常重要的应用数据,具有不可恢复性,如交易、基础信息表、集团KPI数据、IPO关联表。

• P1 :重要的业务数据和重要的应用数据,具有不可恢复性,如重要的业务产品数据。

• P2:重要的业务数据和重要的应用数据,具有可恢复性,如交易线ETL产生的中间过程数据。

• P3:不重要的业务数据和不重要的应用数据,具有可恢复性,如某些商品的报表。

对数据P0、P1、P2、P3这4个级别的数据,生命周期要根据具体情况。例如在有的公司,关系型数据库保存有数仓原始全部数据,又对服务器的成本敏感性,对恢复数据

层级类型P0P1P3P4
ODS层各类型数据永久永久永久永久
DWD事实表(增量表)永久3年365天180天
维表(全量表)保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
Merge全量表保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
DWS层各类型数据永久3年3年3年
DWM层各类型数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据保留近30天及每月月底数据
APP层各类型数据永久–––

由于数仓通常是带有时间的分区表。要进行数仓表数据进行生命周期管理,首先是清楚目前数仓各张表占的存储空间的情况。

查看存储空间的命令:

hadoop fs -du -s -h ${warehouse.dir}/*

如果hive外部表

使用drop table来删除表或用drop partition等命令删除表的分区,其实数据还是存在。要彻底删除数据,有2种方法:

(1)通过删除文件方式

删除文件命令:

hdfs dfs -rmdir -f ${warehouse.dir}

删除目录命令:

hdfs dfs -rm -r -f ${warehouse.dir}/*

  • 变为内部表再删除

alter table  ${table_name) set tblproperties (‘EXTERNAL’=’False’);

如果是hive内部表

删除分区

alter table ${tablename} drop partition(dt<=’2023-01-21′)

在CDH的默认配置中,删除的文件是放在垃圾站,通常是需要24小时后删除的文件才释放空间。如果需要立即释放空间,可以用下面清空hdfs垃圾站的命令:

hdfs dfs -expunge

作者 east
Hive, Spark 1月 19,2023

Spark SQL或Hive开发调试小技巧

  • 在本地开发机装本地模拟环境,或者能远程调试,可以参考Spark如何在生产环境调试
  • 输出dataframe日志,最好有一个开关来控制,正式上线时,把开关关了来提升速度
if (isDebug) {
dataframeDF.show(10)
}
  • dataframe的输出,有时看得不是很清楚,可以生成临时表来记录中间过程,方便对中间过程进行查看 insertHive(resultDF, “dataframe_temp”)
  • 如果是运行的数据比较大,调试起来要等,可以对dataframe进行限定条数或筛选 dataframe.limit(1000) dataframe.filter(” id = ‘ewgwgs’ “)
  • 对复杂的sql,一步到位写起来爽,出问题了不知是哪一步出问题,可以分解出几个简单sql,每一步都有输出,对照结果方便找出问题。
  • 对复杂计算的,写的代码觉得似是而非,可以先整理一个样例,手动写计算过程,然后用代码对照这些过程来一步步实现。

作者 east
大数据开发 1月 18,2023

解决yarn无法查看历史日志Logs not available for container_xxx. Aggregation may not be complete

由于 NodeManager 有异常,一时找不到原因,就重新删除再添加。没想到新的问题产生了。在yarn看不到历史日志,页面提示“Aggregation may not be complete, Check back later or try the nodemanager at xxxx”。

这对开发或运维spark、hive程序来说,是非常抓狂的。看不到日志,就不知道问题出在哪里。

网上绝大多数的解决方案是看
yarn.log-aggregation-enable 是否开启

yarn.log-aggregation-enable属性意思是: 是否启用日志聚合
我直接通过Yarn的WebUi查看,发现
默认就是勾选的,为true

在CDH,找到yarn的配置,搜索
yarn.log-aggregation-enable ,如下图所示就是开启的:

在这里插入图片描述

我查了集群,这个是开启了,重启了yarn后,又重新运行一个spark程序,跑完程序后再查看历史日志,问题依旧。

后来又查到另一个关键的相关配置:
yarn.nodemanager.remote-app-log-dir

yarn.nodemanager.remote-app-log-dir参数的意思是:应用程序结束时存储应用程序日志的 HDFS 目录。 

在CDH查看了
yarn.nodemanager.remote-app-log-dir 的路径如下

查看了一下,没看到/opt/logs,又查到相关日志报错如下:

ERROR org.apache.hadoop.yarn.logaggregation.AggregatedLogDeletionService: Error reading root log dir this deletion attempt is being aborted
java.io.FileNotFoundException: File /opt/logs does not exist.
	at org.apache.hadoop.hdfs.DistributedFileSystem.listStatusInternal(DistributedFileSystem.java:986)
	at org.apache.hadoop.hdfs.DistributedFileSystem.access$1000(DistributedFileSystem.java:122)
	at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1046)
	at org.apache.hadoop.hdfs.DistributedFileSystem$24.doCall(DistributedFileSystem.java:1043)
	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
	at org.apache.hadoop.hdfs.DistributedFileSystem.listStatus(DistributedFileSystem.java:1053)
	at org.apache.hadoop.yarn.logaggregation.AggregatedLogDeletionService$LogDeletionTask.run(AggregatedLogDeletionService.java:82)
	at java.util.TimerThread.mainLoop(Timer.java:555)
	at java.util.TimerThread.run(Timer.java:505)

原因就很清楚,没有那个目录,应该创建那个目录,并赋予相应的权限。

通过CDH进入YARN服务界面,然后选择【创建NodeManager远程应用程序日志目录】。

进行上面的操作后终于问题解决了。

作者 east
Spark 1月 14,2023

spark sql如何提升性能

在使用 Spark SQL 时,有几种常见的方法可以提升性能:

  • 使用适当的数据结构:Spark SQL 支持多种数据结构,例如 Parquet、Avro、ORC 等。使用适当的数据结构可以提高查询速度和减少存储空间。
  • 分区:将数据按照一定规则分区,可以提升性能。
  • 缓存数据:使用 Spark SQL 的缓存功能可以将数据集的副本存储在内存中,从而提升性能。
  • 使用常量:对于经常使用的常量值,使用常量代替查询中的变量可以提升性能。
  • 使用索引:对大型数据集使用索引可以提升性能。
  • 优化查询计划:使用 EXPLAIN 命令可以查看查询计划,并使用优化器选项对查询进行优化。
  • 并行计算:调整 Spark 的并行度,可以提升性能。
  • 适当使用 UDF:使用 UDF 可以扩展 Spark SQL 的功能,但是过多使用 UDF 会导致性能下降。
作者 east
运维 1月 9,2023

sqlserver 自定义函数或存储过程转 postgresql

nvarchar要修改为varchar

postgresql的body需要$$ …. $$包含起来

postgresql 只需要一对BEGIN END,条件和while循环不需要BEGIN和END

变量需要去掉@, @b -> b;

没有isnull 用 coalesce

字符串拼接用 ||

字符串类型和int类型不会自动转换(用作条件时)

没有charindex,用strpos (原字符串,需要查找的)

没有getdate() 用 LOCALTIMESTAMP(0) 代替 参数指秒以下取几位

SET @len=@len+1要修改为 len = len + 1

break修改为exit

CHAR(10) 类型要改为CHR(10)

postgresql的条件和循环 不需要BEGIN和END 嵌套, 条件和循环的语法也和sqlserver有所不同:

 
1、条件
IF ... THEN ... END IF
IF ... THEN ... ELSE ... END IF
IF ... THEN ... ELSIF ... THEN ... ELSE ... END IF

CASE ... WHEN ... THEN ... ELSE ... END CASE
CASE WHEN ... THEN ... ELSE ... END CASE
 
2、循环
LOOP
[<>]
LOOP
...
IF ... THEN
CONTINUE [label] [WHEN boolean-expression];
END IF;
EXIT [label] [WHEN boolean-expression];
END LOOP [label];


WHILE
[<>]
WHILE boolean-expression LOOP
...
END LOOP [label];


FOR
[<>]
FOR name IN [REVERSE] expression .. expression [BY expression] LOOP
...
END LOOP [label];
作者 east
运维 1月 7,2023

windows安装使用PostgreSQL

最近一个项目要用到pgsql的自定义函数,在windows上安装一个。

下载的是12的版本,
https://get.enterprisedb.com/postgresql/postgresql-12.13-1-windows-x64.exe

刚开始安装后出现问题,看到是杀毒软件影响到了。关闭杀毒软件,重新卸载安装。

为了使用方便,把pg库的bin目录添加到环境变量。

由于是开发,为了使用方便,

修改pg库data目录的pg_hba.conf,把md5修改为trust

host all all 127.0.0.1/32 trust

host all all ::1/128 trust

host replication all 127.0.0.1/32 trust
host replication all ::1/128 trust

启动服务器:

在命令行启动

pg_ctl.exe reload -N “postgres_12” -D “D:\Program Files\PostgreSQL\12\data”

psql -h 127.0.0.1 -U postgres

作者 east
shardingsphere, 大数据开发 11月 6,2022

DataX、Sqoop抽取Sharding-Proxy数据遇到问题和解决方案

公司有几十T的数据库数据,采用sharding-proxy来分库分表存取。采用sharding-proxy,可以让客户端像普通单库一样调用,但用datax、sqoop抽取数据却发现那么简单。

原先是用 sharding-proxy 4.1.0 版本,springboot采用druid来读取数据或用navicat高版本来读没问题,所以一直没有升级。

不幸的是,用sqoop 1.4.7来抽取数据时,发生报错“Failed to switch schema, please terminate current transaction”。网上相关的资料很少,后来查到是 sharding-proxy 报的错,在github讨论区有说这个问题,
https://github.com/apache/shardingsphere/issues/5531

刚开始以为是sqoop读取表结构时遇到的问题,改用dataX来抽取数据,还是同样的问题。后来升级 sharding-proxy 到最新版本,终于没报这个问题,但用sqoop抽取时,由于sqoop 1.4.7要先读取mysql的表结构,但是获取
sharding-proxy 的表结构发生错误,这个可以通过修改sqoop代码或别的方式来避开这个问题。

但DataX抽取数据时没这个问题,能很顺利抽取到
sharding-proxy 上面的数据。

作者 east
Hive 11月 3,2022

解决CDH 6.3.2 Hue访问Hive自定义用户密码验证

在前面文章介绍了
CDH 6.3.2 Hive自定义用户名密码验证 ,如果hue配置不做更改的话,在hue中看不到hive的数据库和执行不了命令,hue会报“thrift TSocket read 0 bytes” 、“
 Bad status: 3 (Error validating the login) (code THRIFTTRANSPORT) ”等错误。

解决方法:

(1)修改hue的python代码

cd /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hue/apps/beeswax/src/beeswax/server
vi hive_server2_lib.py
增加红框中的’CUSTOM’

(2)修改hue的配置
在hue的配置页面,搜索”hue_safety_valve” ,找到hue_safety_valve.ini
添加下面代码:(
auth_username 是在hive的hive-site.xml中配置的,不同的是hive-site的
auth_password 是工具处理后,hue这里的配置需要处理前的原始密码)

[desktop]

auth_username=hdfs
auth_password=未加密前的密码



然后重启hue

作者 east
Hive 11月 3,2022

CDH 6.3.2 Hive自定义用户名密码验证

为了增强hive的安全性,可以自定义用户名密码验证。

首先写成相应的工具类

import javax.security.sasl.AuthenticationException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.conf.HiveConf;
import org.slf4j.Logger;
public class CustomPasswdAuthenticator implements org.apache.hive.service.auth.PasswdAuthenticationProvider{
    private Logger LOG = org.slf4j.LoggerFactory.getLogger(CustomPasswdAuthenticator.class);
    private static final String HIVE_JDBC_PASSWD_AUTH_PREFIX="hive.jdbc_passwd.auth.%s";
    private Configuration conf=null;
    @Override
    public void Authenticate(String userName, String passwd)  
              throws AuthenticationException {  
            LOG.info("user: "+userName+" try login.");  
            String passwdConf = getConf().get(String.format(HIVE_JDBC_PASSWD_AUTH_PREFIX, userName));  
            if(passwdConf==null){  
              String message = "user's ACL configration is not found. user:"+userName;  
              LOG.info(message);  
              throw new AuthenticationException(message);  
            }   
            if(!passwd.equals(passwdConf)){  
              String message = "user name and password is mismatch. user:"+userName;  
              throw new AuthenticationException(message);  
            }  
          }  
          public Configuration getConf() {  
            if(conf==null){  
              this.conf=new Configuration(new HiveConf());  
            }  
            return conf;  
          }  
          public void setConf(Configuration conf) {  
            this.conf=conf;  
          }
}

把这个工具类打包成jar包放在hive根目录的lib目录下,
/opt/cloudera/parcels/CDH/lib/hive/lib/hiveAuth.jar


HDFS修改core-site.xml配置

搜索 core-site.xml

core-site.xml 的群集范围高级配置代码段(安全阀)

<property>   
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value> </property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>





Hive修改hive-site.xml配置

<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
</property>
<property>
<name>hive.security.authorization.task.factory</name>
<value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>
</property>
<property>
<name>hive.users.in.admin.role</name>
<value>hdfs</value>
</property>
<property>
<name>hive.server2.authentication</name>
<value>CUSTOM</value>
</property>
<property>
<name>hive.server2.custom.authentication.class</name>
<value>org.apache.hadoop.hive.contrib.auth.CustomPasswdAuthenticator </value>
</property>

<property>
<name>hive.jdbc_passwd.auth.hdfs</name>
<value>2ad4fed18d94500baa7dcf70fd7b1ecf</value>
</property>

重启hadoop和hive

作者 east
Spark 10月 9,2022

RDD或UDF获取不到driver端传递的变量

RDD要获取Driver端的Map、List,或者Spark UDF 需要加载外部资源(如配置参数、白名单)初始化它们的实例。 Spark UDF的输入参数必须是数据列column,在UDF中进行如Redis查询、白/黑名单过滤前,若它们都能被序列化,从Driver端初始化+broadcast的方式可以完成构建。直接传递变量时,在spark用local方式时正常,用yarn-cluster时出现问题。

例如像下面这样:

class MyUDF implements UDF1<Long, String> {
        private Map<Long, String> broadCastMap;
        public MyUDF(Broadcast<Map<Long, String>> broadCastMap) {
           this.broadCastMap = broadCastMap.value();
        }
        public String call(Long id) {
            return id +" -> " + broadCastMap.getOrDefault(id, "No mapping");
        }
    }
 Map<Long, String> map = new HashMap<>();
    map.put(1L, "b");
    map.put(2L, "c");
    Broadcast<Map&<Long, String>> broadCastMap = new JavaSparkContext(spark.sparkContext()).broadcast(map);

    UserDefinedFunction myUdf = udf(new MyUDF(broadCastMap), DataTypes.StringType);

    spark.sqlContext().udf().register("myUdf", myUdf);

如果传递的是类,必须 实现了serializable接口

  1. 反序列化时serializable版本号不一致时会导致不能反序列化。
  2. 子类中实现了serializable接口,父类中没有实现,父类中的变量不能被序列化,序列化后父类中的变量会得到null。 注意:父类实现serializable接口,子类没有实现serializable接口时,子类可以正常序列化
  3. 被关键字transient修饰的变量不能被序列化。
  4. 静态变量不能被序列化,属于类,不属于方法和对象,所以不能被序列化。

例如像下面这样:

import java.io.Serializable;
import java.util.*;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class AtKwdBo implements Serializable {
    private Set<String> keywords;
    private Set<String> stopwords;
    /**
     * just for test
     * @return
     */
    public static List<AtKwdBo> generateKeyWord() {
        // Keyword
        List<AtKwdBo> atKwdBos = new ArrayList<>();
        AtKwdBo atKwdBo = new AtKwdBo();
        Set<String> keywords = new HashSet<>();
        keywords.add("小米手机");
        keywords.add("雷军");
        keywords.add("小米10周年");
        atKwdBo.setKeywords(keywords);
        Set<String> stopwords = new HashSet<>();
        stopwords.add("华为手机");
        atKwdBo.setStopwords(stopwords);
        atKwdBos.add(atKwdBo);

        return atKwdBos;
    }
}
作者 east

上一 1 … 20 21 22 … 41 下一个

关注公众号“大模型全栈程序员”回复“小程序”获取1000个小程序打包源码。回复”chatgpt”获取免注册可用chatgpt。回复“大数据”获取多本大数据电子书

标签

AIGC AI创作 bert chatgpt github GPT-3 gpt3 GTP-3 hive mysql O2O tensorflow UI控件 不含后台 交流 共享经济 出行 图像 地图定位 外卖 多媒体 娱乐 小程序 布局 带后台完整项目 开源项目 搜索 支付 效率 教育 日历 机器学习 深度学习 物流 用户系统 电商 画图 画布(canvas) 社交 签到 联网 读书 资讯 阅读 预订

官方QQ群

小程序开发群:74052405

大数据开发群: 952493060

近期文章

  • AUTOSAR如何在多个供应商交付的配置中避免ARXML不兼容?
  • C++thread pool(线程池)设计应关注哪些扩展性问题?
  • 各类MCAL(Microcontroller Abstraction Layer)如何与AUTOSAR工具链解耦?
  • 如何设计AUTOSAR中的“域控制器”以支持未来扩展?
  • C++ 中避免悬挂引用的企业策略有哪些?
  • 嵌入式电机:如何在低速和高负载状态下保持FOC(Field-Oriented Control)算法的电流控制稳定?
  • C++如何在插件式架构中使用反射实现模块隔离?
  • C++如何追踪内存泄漏(valgrind/ASan等)并定位到业务代码?
  • C++大型系统中如何组织头文件和依赖树?
  • 如何进行AUTOSAR模块的持续集成(CI)部署与版本控制?

文章归档

  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年1月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年7月
  • 2018年6月

分类目录

  • Android (73)
  • bug清单 (79)
  • C++ (34)
  • Fuchsia (15)
  • php (4)
  • python (42)
  • sklearn (1)
  • 云计算 (20)
  • 人工智能 (61)
    • chatgpt (21)
      • 提示词 (6)
    • Keras (1)
    • Tensorflow (3)
    • 大模型 (1)
    • 智能体 (4)
    • 深度学习 (14)
  • 储能 (44)
  • 前端 (4)
  • 大数据开发 (484)
    • CDH (6)
    • datax (4)
    • doris (28)
    • Elasticsearch (15)
    • Flink (78)
    • flume (7)
    • Hadoop (19)
    • Hbase (23)
    • Hive (40)
    • Impala (2)
    • Java (71)
    • Kafka (10)
    • neo4j (5)
    • shardingsphere (6)
    • solr (5)
    • Spark (99)
    • spring (11)
    • 数据仓库 (9)
    • 数据挖掘 (7)
    • 海豚调度器 (9)
    • 运维 (33)
      • Docker (2)
  • 小游戏代码 (1)
  • 小程序代码 (139)
    • O2O (16)
    • UI控件 (5)
    • 互联网类 (23)
    • 企业类 (6)
    • 地图定位 (9)
    • 多媒体 (6)
    • 工具类 (25)
    • 电商类 (22)
    • 社交 (7)
    • 行业软件 (7)
    • 资讯读书 (11)
  • 嵌入式 (70)
    • autosar (63)
    • RTOS (1)
    • 总线 (1)
  • 开发博客 (16)
    • Harmony (9)
  • 技术架构 (6)
  • 数据库 (32)
    • mongodb (1)
    • mysql (13)
    • pgsql (2)
    • redis (1)
    • tdengine (4)
  • 未分类 (6)
  • 程序员网赚 (20)
    • 广告联盟 (3)
    • 私域流量 (5)
    • 自媒体 (5)
  • 量化投资 (4)
  • 面试 (14)

功能

  • 登录
  • 文章RSS
  • 评论RSS
  • WordPress.org

All Rights Reserved by Gitweixin.本站收集网友上传代码, 如有侵犯版权,请发邮件联系yiyuyos@gmail.com删除.