【阿里云】企业自建 Hadoop 迁移至 MaxCompute 最佳实践学习(自己学习用)
文章目录
- 一、前言
- 二、适用场景
- 三、技术架构
- 四、方案优势
- 五、自建Hadoop集群规划
- 5.1 Hadoop集群安装规划
- 5.2 创建 VPC 网络
- 5.3 批量创建 ECS 实例
- 5.4 初始化配置
- 5.5 配置hadoop各ECS之间的无密钥登录
- 5.6 loggen操作
- 5.7 Kafka操作
- 5.8 Zookeeper操作
- 5.9 Hadoop操作
- 5.10 Flume操作
- 5.11 MySQL操作
- 5.12 Hive操作
- 5.13 Hbase操作
- 5.14 Azkaban操作
- 六、创建 DataWorks 工作空间
- 七、Hive数仓迁移到MaxCompute
- 7.1 配置MMA迁移工具
- 7.2 启动MMA工具进行数据迁移
- 7.3 在MaxCompute查看对应表
- 八、Hbase表数据迁移到云数据库Hbase版
- 8.1 创建云Hbase实例
- 8.2 创建BDS集群
- 8.3 配置Hbase迁移相关配置
- 8.4 启动Hbase历史数据迁移
- 8.5 启动Hbase实时数据同步
- 九、数据接入组件Kafka迁移到Datahub
- 9.1 创建Datahub工程和Topic
- 9.2 在ECS loggen上启动新的Flume任务将数据发送到Datahub
- 9.3 创建DataConnector将数据从Datahub归档到MaxCompute表
- 十、Azkaban定时任务迁移和改造
- 10.1 将表datahub_dataconnector_apache_logs数据灌入odps_apache_logs
- 10.2 改造Azkaban测试工程中Job 99_ip_statics
- 10.2.1 修改HiveSQL并提交ODPS SQL任务
- 10.2.2 将中间表同步到云数据库Hbase实例
- 10.2.3 查看执行成功的任务
- 10.2.4 改造Azkaban测试工程中Job 98_add_device_and_user_type
一、前言
本文整理自阿里云最佳实践!方便自己学习用,侵删!(ノへ ̄、)
客户基于ECS、IDC自建或在友商云平台自建了大数据集群,为了降低企业大数据计算平台的成本,提高大数据应用开发效率,更有效保障数据安全,把大数据集群的数据、作业、调度任务、业务数据库整体迁移到MaxCompute和其他云产品。
二、适用场景
- 自建Hadoop集群搬迁到MaxCompute
- 自建Hbase集群搬迁到云Hbase
- 自建Kafka或应用数据准实时同步到MaxCompute
- 自建Azkaban搬迁到Dataworks
三、技术架构
四、方案优势
- 安全性:基于IPSec VPN/专线的方式进行数据安全传输。
- 大规模存储:超大规模存储自动扩容,最大可支持EB级别的数据。
- 高性能:同时性能更稳定;如1TB数据规模的TPC-DS,MaxCompute比Spark
快28%,比Hive快76%,比Impala快7%。 - 低成本:相比自建降低30%以上成本。
- 安全:原生的多租户系统,以项目进行隔离,所有计算任务在安全沙箱中运行。
五、自建Hadoop集群规划
5.1 Hadoop集群安装规划
8台ECS搭建Hadoop基础环境:
Hadoop生态组件在每台ECS上的运行规划:
5.2 创建 VPC 网络
登录专有网络VPC产品控制台,在专有网络页面,单击创建专有网络。
https://vpc.console.aliyun.com/vpc/cn-shanghai/vpcs
在创建专有网络页面,配置专有网络和交换机相关参数,并单击确定。
等待专有网络和交换机创建成功。
5.3 批量创建 ECS 实例
登录所建地域的ECS产品控制台。
https://ecs.console.aliyun.com/#/server/region/cn-shanghai
在实例列表页面,单击右上角的创建实例 (推荐:抢占式实例)。
在自定义购买模式下,配置相关参数。
配置完成,单击下一步:网络和安全组。
在网络和安全组页面,配置相关参数。
配置完成,单击下一步:系统配置。
在系统配置页面,完成以下配置。
单击展开高级选项配置,在实例自定义数据处填写Cloud-init脚本,该脚本在创建ECS之后,
自动安装一些必要的组件,并从代码库下载Hadoop软件包。
#!/bin/sh
yum install -y git ruby java-1.8.0-openjdk-devel.x86_64
# for loggen
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/
gem install apache-loggen -v 0.0.5
mkdir -p /root/archive
# for all
cd /opt/
git clone https://code.aliyun.com/bussiness_support_yunkui/bigdata.git
cat /opt/bigdata/configs/etc-profile >> /etc/profile
source /etc/profile
# for kafka
groupadd kafka
groupadd zookeeper
useradd -g 1000 -m kafka
useradd -g 1001 -m zookeeper
cp -r /opt/bigdata/kafka-2.0.0-1 /opt/
mkdir -p /opt/kafka-2.0.0-1/kafka/tmp
mkdir -p /opt/kafka-2.0.0-1/zookeeper/tmp/
chown -R zookeeper:zookeeper /opt/kafka-2.0.0-1/zookeeper/tmp/
chown -R kafka:kafka /opt/kafka-2.0.0-1/kafka/tmp/
chown -R kafka:kafka /opt/kafka-2.0.0-1/kafka/logs/
#for hadoop
mkdir -p /usr/dfs/
# for MMA
cd /root/
yum install -y python3-pip
wget https://mma-source.oss-cn-shenzhen.aliyuncs.com/odps-data-carrier-0121.tar.gz
tar -xvf odps-data-carrier-0121.tar.gz
# for MySQL
wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum -y localinstall mysql57-community-release-el7-11.noarch.rpm
yum -y install mysql-community-server
在确认订单页面,确认各项参数信息。确认无误,阅读、同意并勾选《云服务器ECS服务条款》和《镜像商品使用条款》,并单击创建实例。
创建任务提交成功后,单击管理控制台前往ECS实例列表页面查看详情。为了在控制台便于识别ECS的用途,首先将实例名称修改为如下图所示:
配置安全组
放通Hadoop生态组件所需要的端口:
- 8020/8020 master HA界面
- 8088/8088 yarn的界面
- 8081/8081 azkaban的界面
- 16010/16010 hbase界面
- 50070/50070 hadoop界面
步骤1 在ECS控制台,单击master实例操作列下的更多>网络和安全组>安全组配置。
单击对应安全组操作列下的配置规则。
步骤2 在入方向页签下,单击添加安全组规则。
5.4 初始化配置
步骤1
通过SSH登录到各个ECS的后台,修改主机名。
主机名保持和下面的一致,这样后面hadoop软件栈的配置文件不需要修改。
修改各ECS的主机名之后,断开SSH重新连接查看效果。
各ECS节点修改/etc/hosts,加入各个IP地址和hostname的对应关系,所有节点保持一致。
vim /etc/hosts
1.首先删除默认的配置:
将下面的配置添加到/etc/hosts文件中,保存后退出:
192.168.100.147loggen
192.168.100.145kafka
192.168.100.141mysql
192.168.100.146master
192.168.100.144master2
192.168.100.143slave1
192.168.100.140slave2
192.168.100.142slave3
5.5 配置hadoop各ECS之间的无密钥登录
步骤1
hadoop各ECS节点生成密钥:master,master2,slave1,slave2,slave3。
ssh-keygen -t rsa -N '' -f /root/.ssh/id_rsa -q
master节点执行:将hadoop各节点的公钥导入到master节点的authorized_keys文件中。
cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh master2 "cat /root/.ssh/id_rsa.pub" >> /root/.ssh/authorized_keys
ssh slave1 "cat /root/.ssh/id_rsa.pub" >> /root/.ssh/authorized_keys
ssh slave2 "cat /root/.ssh/id_rsa.pub" >> /root/.ssh/authorized_keys
ssh slave3 "cat /root/.ssh/id_rsa.pub" >> /root/.ssh/authorized_keys
cat /root/.ssh/authorized_keys
master节点执行:将master节点的authorized_keys分发到其他hadoop节点。
scp /root/.ssh/authorized_keys root@master2:/root/.ssh/
scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/
scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/
scp /root/.ssh/authorized_keys root@slave3:/root/.ssh/
master节点执行:验证无密钥登录并设置hadoop各节点的主机名。
ssh master2
exit
ssh slave1
exit
ssh slave2
exit
ssh slave3
exit
5.6 loggen操作
步骤1通过SSH登录ECS,启动日志发生器。
cd /opt/bigdata/loggen
./start_log_generator.sh
验证日志生成情况:
./view_access_log_records.sh
Ctrl+C退出。
添加定时任务:该定时任务将重启日志发生器,并将滚动的日志移动到归档目录。
crontab -e
59 23 * * * mv /root/access*.log /root/archive/
0 */2 * * * /opt/bigdata/loggen/stop_log_generator.sh
1 */2 * * * /opt/bigdata/loggen/start_log_generator.sh
5.7 Kafka操作
步骤1通过SSH登录ECSKafka节点,启动Kafka。
ctlscript.sh start
ctlscript.sh status
5.8 Zookeeper操作
步骤1通过SSH登录到Slave实例节点,在slave1,2,3分别添加myid文件。
slave1节点: echo 1 >/opt/bigdata/zookeeper/data/myid
slave2节点: echo 2 >/opt/bigdata/zookeeper/data/myid
slave3节点: echo 3 >/opt/bigdata/zookeeper/data/myid
5.9 Hadoop操作
首次启动严格按照下列顺序进行。
步骤1在slave1,2,3节点分别启动zookeeper。
zkServer.sh start
在slave1,2,3节点分别检查zookeeper的状态。
zkServer.sh status
有两个节点的Mode是follower,一个节点的Mode是leader。
在master,master2,slave1分别启动JournalNode。
hadoop-daemon.sh start journalnode
在master节点格式化namenode。
hdfs namenode -format
在master节点将name文件夹拷贝到master2节点。
scp -r /usr/dfs/name master2:/usr/dfs/
在master节点格式化zkfc。
hdfs zkfc -formatZK
在master节点启动hadoop集群。
start-all.sh
master2节点上查看ResourceManager是否已经启动。
jps |grep -i resourcemanager
如果没有的话执行:
yarn-daemon.sh start resourcemanager
将master节点设置为namenode的active节点:
在master2节点执行:
hdfs haadmin -getServiceState nn1 //查看master节点对应的状态
hdfs haadmin -getServiceState nn2 //查看master2节点对应的状态
说明:如果nn1的状态为standby,则登录到master2节点,
kill -9 <pid_of_namenode_on_master2>
此时将自动failover到master节点作为active节点。
验证:在master节点上传一个文件到HDFS文件系统。
cd /opt/bigdata
hadoop fs -put version.txt /
hadoop fs -ls -R /
5.10 Flume操作
步骤1ECS loggen节点:启动Flume,日志信息将从loggen节点发送到Kafka节点中的
Topic。
cd /opt/bigdata/flume
nohup flume-ng agent --conf conf/ --name a1 --conf-file job_test/flume-
kafka.conf &
ECS kafka节点:检查topic中的信息:界面上需要有日志消息刷新。
kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic log-
generator-topic
Ctrl+C退出执行。
步骤2ECS kafka节点:启动Flume,日志信息将从kafka节点发送到hadoop的HDFS中。
cd /opt/bigdata/flume
nohup flume-ng agent --conf conf/ --name agent --conf-file job_test/flume-
kafka2hdfs.conf &
ECS master节点:查看HDFS上检查是否生成文件。
hadoop fs -ls -R /
每10分钟进行一次日志文件滚动,未滚动时HDFS上以*.tmp后缀显示。
5.11 MySQL操作
步骤1 SSH登录到MySQL后台,启动MySQL:
systemctl start mysqld
步骤2 查看初始密码。
grep 'temporary password' /var/log/mysqld.log
步骤3 修改密码。
mysql -uroot -p
输入初始密码后,进入mysql命令行,修改密码为Test@1234
set password = password('Test@1234');
创建用户:其中红色IP地址段为vswitch网段,密码为Test@1234
create user 'root'@'192.168.100.%' identified by 'Test@1234';
grant all on *.* to 'root'@'192.168.100.%';
exit
5.12 Hive操作
步骤1 master节点执行下列命令初始化Hive元数据库。
schematool -dbType mysql -initSchema -verbose
启动MetaStore服务。
nohup hive --service metastore &
创建Hive数据仓库。
hive
create database log_data_warehouse;
use log_data_warehouse;
创建表:该表用于保存从HDFS加载的原始日志文件。
CREATE TABLE apache_logs(
ipaddr STRING,
identity STRING,
username STRING,
accesstime STRING,
request STRING,
status STRING,
size STRING,
referer STRING,
agent STRING)
PARTITIONED BY (dsstring)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "([^ ]*) ([^ ]*) ([^ ]*) (\\[.*\\]) (\".*?\") (-|[0-9]*) (-|[0-9]*) (\".*?\") (\".*?\")",
"output.format.string" = "%1$s %2$s %3$s %4$s %5$s %6$s %7$s %8$s %9$s"
)
STORED AS TEXTFILE;退出hive。
exit;
5.13 Hbase操作
步骤1master节点执行命令,启动hbase。
start-hbase.sh
master节点执行,创建hbase表。
hbase shell
create 'job99_ip_statics','cf1'
create 'job98_user_detail','cf1'
exit
master节点执行,创建hive外部表关联hbase表。
hive
use log_data_warehouse;
CREATE EXTERNAL TABLE hbase_external_table_job99_ip_statics(
key String,
log_record_date string,
ipaddr string,
ip_count_value String,
process_date string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = ":key, cf1:log_record_date, cf1:ipaddr,
cf1:ip_count_value, cf1:process_date")
TBLPROPERTIES (
"hbase.table.name" = "job99_ip_statics",
"hbase.mapred.output.outputtable" = "job99_ip_statics"
);
CREATE EXTERNAL TABLE hbase_external_table_job98_user_detail
(
key String,
request_ipaddr string,
request_accesstime string,
request_method String,
request_url string,
response_status string,
response_size string,
user_device_type string,
user_type string,
request_referer string,
request_agent string,
process_date string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"
hbase.columns.mapping" =
":key,
cf1:request_ipaddr, cf1:request_accesstime, cf1:request_method, cf1:request_url,
cf1:response_status,
cf1:response_size, cf1:user_device_type, cf1:user_type, cf1:request_referer,
cf1:request_agent, cf1:process_date"
)
TBLPROPERTIES (
"hbase.table.name" = "job98_user_detail",
"hbase.mapred.output.outputtable" = "job98_user_detail"
);
exit;
5.14 Azkaban操作
步骤1在mysql节点执行下面命令,创建azkaban需要使用的数据库和数据表。
cd /opt/bigdata/azkaban/azkaban-db-0.1.0-SNAPSHOT
mysql -uroot -p
输入密码Test@1234后执行以下命令:
mysql> CREATE DATABASE IF NOT EXISTS azkaban;
mysql> use azkaban;
mysql> alter database azkaban character set Latin1;
mysql> source create-all-sql-0.1.0-SNAPSHOT.sql;
mysql> show tables;
mysql> exit
在master节点启动Azkaban。
cd /opt/bigdata/azkaban/exec-server/bin
./start-exec.sh
curl -G "localhost:$(<./executor.port)/executor?action=activate" && echo
cd /opt/bigdata/azkaban/web-server/bin
/start-web.sh
验证:
jps |grep Azkaban
登录web界面:http://master节点的ip地址:8081
输入默认用户名azkaban 和默认密码azkaban 进入管理界面。
将测试工程下载到本地电脑:
单击AzkabanWeb界面右上角的CreateProject,填写参数。
上传测试工程包。
设置定时任务,每天凌晨1点执行。
单击界面上的Schedule按钮,完成定时任务的创建。
第二天通过history查看执行结果。
六、创建 DataWorks 工作空间
步骤1 通过主账号登录到Dataworks控制台。https://workbench.data.aliyun.com/#/projectlist
步骤2 切换到上海地域,并单击创建工作空间按钮。
步骤3 在基本配置页面,设置工作空间名称,并单击下一步。
步骤4 选择MaxCompute按量付费模式,单击下一步。
步骤5 设置实例显示名称,单击创建工作空间。
完成后在工作空间列表可看到创建的工作空间。
七、Hive数仓迁移到MaxCompute
本章主要介绍Hive数仓数据如何迁移到MaxCompute。
7.1 配置MMA迁移工具
在创建各个ECS时,已经通过Cloud-init脚本下载了需要使用的MMA(MaxCompute Migration Assist)数据迁移工具。
关于MMA工具的详细用法说明,请查看:
https://help.aliyun.com/document_detail/149668.html
步骤1 在master2节点上查看工具。
cd /root/
ls -l
步骤2 配置odps_config.ini文件。
cd /root/odps-data-carrier
vimodps_config.ini
编辑文件中对应的参数,保存后退出:
project_name=workspace20200221
access_id=LTAI********MxGo//替换为您的AK
access_key=J1***********eU8//替换为您的SK
end_point=http://service.cn-shanghai.maxcompute.aliyun-inc.com/api
关于end_point,本方案使用VPC网络下上海地域的Endpoint地址,详细信息请查
看:https://help.aliyun.com/document_detail/34951.html
准备Hive到MaxCompute表的映射文件。
文件格式为:
<hive db>.<hive table>:<maxcompute project>.<maxcompute table>
本实践方案中:
hivedb: log_data_warehouse
hive table: apache_logs
maxcompute project: workspace20200221
maxcompute table: odps_apache_logs
步骤3 通过下面命令生成mapping文件:
cd /root/odps-data-carrier
vimhive_maxcompute_tables_mapping.ini
将下列内容粘贴到文件中,保存后退出:
log_data_warehouse.apache_logs:workspace20200221.odps_apache_logs
如果你有多个表,请依次添加:
7.2 启动MMA工具进行数据迁移
步骤1 执行如下命令启动数据迁移。
cd /root/odps-data-carrierpython3 ./bin/run.py --mode BATCH --hms_thrift_addr thrift://master:9083 --
table_mapping hive_maxcompute_tables_mapping.ini
步骤2 执行结果如下图所示。
7.3 在MaxCompute查看对应表
步骤1 登录到Dataworks控制台。(https://workbench.data.aliyun.com/?#/)
选择工作空间,进入数据开发。
步骤2 按下图所示操作,可以看到odps_apache_logs相关信息。
查看表的分区信息,该分区字段和分区信息是从Hive表中自动同步的。
创建临时查询。
通过SQL语句查看表数据。
select * from odps_apache_logswhere ds like '2020%';
八、Hbase表数据迁移到云数据库Hbase版
Hive数仓中的数据,通过Azkaban定时任务处理后,将结果数据保存到了两张Hbase表。本章介绍如何将Hbase表中的数据迁移到云数据库Hbase版实例。
8.1 创建云Hbase实例
步骤1 通过以下链接登录到云数据库Hbase版上海地域控制台。
https://hbase.console.aliyun.com/hbase/cn-shanghai/clusters
我们将Hbase实例规划在上海地域的可用区B,请参考1.2章节,在同一VPC下的可用区B创建虚拟交换机。
返回云数据库Hbase版控制台,在集群列表页面单击创建Hbase集群。
选择按量计费模式,完成以下配置,并单击立即购买。
说明:下面截图中的配置规格仅为演示使用。
步骤2 约15~20分钟完成创建。
8.2 创建BDS集群
BDS 是阿里云针对HBase自主研发的一套迁移同步服务,主要帮助云上的客户进行自建HBase、云HBase集群的数据导入和导出。
步骤1 通过以下链接登录到云数据库Hbase版控制台。
https://hbase.console.aliyun.com/hbase/cn-shanghai/clusters
在集群列表页面,单击创建BDS集群。
步骤2 选择按量计费模式,完成以下配置,并单击立即购买。
完成创建后状态为运行中:
单击上面截图中BDS实例ID链接。
将云数据库Hbase实例添加为目标数据库
修改访问白名单。
填写您电脑的公网IP地址:
步骤3 设置BDSUI的访问密码。
本例中设置密码为Test1234
访问BDSUI。
8.3 配置Hbase迁移相关配置
步骤1 将BDS所在网段(192.168.20.0/24)添加到自建HbaseECS(192.168.100.0/24)所在安全组,放开所有端口。
步骤2 将自建Hbase添加为源数据库。
完成后效果如下所示:
8.4 启动Hbase历史数据迁移
步骤1 进入历史数据迁移界面。
创建Hbase迁移任务。
查看迁移进程。
8.5 启动Hbase实时数据同步
如果要进行一段时间的Hbase实时数据同步,则可以启动该任务。本实践方案中,自建Hbase的表数据是在每天凌晨1点钟通过定时任务插入的,4.4节已经迁移了历史数据,这里演示如何创建和启动实时数据同步任务。
步骤1 登录到BDS控制台。
步骤2 选择创建Hbase实时数据同步任务。
步骤3 查看创建完成的数据同步通道。
步骤4 第二天白天查看数据同步进展。
- 查看Azkaban任务的执行状态,可以看到在凌晨1点成功执行了定时任务,结果是将HiveSQL的查询结果写入到了Hbase表。
- 通过BDS查看数据实时同步通道的状态。
在下面的日志详细信息页面也可以看到对应时间段的同步记录:
九、数据接入组件Kafka迁移到Datahub
自建Hadoop系统中使用Kafka作为数据接入组件,接收来自日志发生器ECS上的Flume发送的数据,Kafka的数据将发送到HDFS,最终由定时任务将数据加载到Hive数据仓库。
在将数据仓库从Hive迁移到MaxCompute之后,用户可以根据实际需要,选择Datahub作为数据接入组件,并通过Datahub的DataConnector将数据准实时同步到MaxCompute数据残酷。客户也可以根据自己的需求,使用阿里云Kafka和阿里云日志服务作为数据接入组件。
本最佳实践的数据流为:日志发生器àDatahubàMaxCompute;使用阿里云Kafka的数据流为:日志发生器àKafkaàMaxCompute;使用SLS日志服务的数据流为Logtail(或LogSDK)àSLSàMaxCompute。
9.1 创建Datahub工程和Topic
步骤1 登录到Datahub控制台并选择上海地域:
https://datahub.console.aliyun.com/datahub
单击右上角的创建Project。
步骤2 设置名称和描述,单击创建。
创建Topic。
单击新建project操作列下的查看。
步骤3 单击右上角的创建Topic。
步骤4 在创建Topic对话框中,完成以下配置,并单击创建。
9.2 在ECS loggen上启动新的Flume任务将数据发送到Datahub
本实践方案中,已经将FlumeDatahub插件和配置文件flume-datahub.conf提前准备好,并在cloud-init脚本上下载到/opt/bigdata/flume的对应目录下。
关于FlumeDatahub插件,请查阅以下文档:
https://help.aliyun.com/document_detail/143572.html
步骤1 替换flume-datahub.conf文件中的AK和SK,下面红色部分内容:
cd /opt/bigdata/flume/job_test
sed -i s/YourAccessKeyID/LTAIK****rdA/g flume-datahub.conf
sed -i s/YourAccessKeySecret/DywK********9I0TD/g flume-datahub.conf
其他关键配置如下,使用者根据需要自行修改:
- Datahub项目所在区域的EndPoint。
a1.sinks.k1.datahub.endPoint = http://dh-cn-shanghai-int-vpc.aliyuncs.com
说明:详情请查阅 https://help.aliyun.com/document_detail/47446.html
- Datahub项目名称。
a1.sinks.k1.datahub.project = log_records_project
- Datahub项目中Topic名称。
a1.sinks.k1.datahub.topic = odps_apache_logs
步骤2 启动Flume,将日志数据发送到Datahub的Topic。
cd /opt/bigdata/flume
nohupflume-ng agent --conf conf/ --name a1 --conf-file job_test/flume-datahub.conf &
说明:如果产生日志的应用有多个的话,需要逐个ECS执行步骤1和步骤2. 在Datahub控制台查看日志接收情况。
说明:此时,ECS loggen生成的日志数据,将同时发向Kafka和Datahub。使用者选择合适的时机,停止数据发送到Kafka,完成数据接入组件的迁移。
9.3 创建DataConnector将数据从Datahub归档到MaxCompute表
关于DataConnector详细信息,请查阅:
https://help.aliyun.com/document_detail/47453.html
步骤1打开临时查询框:通过以下SQL语句创建MaxCompute表。
CREATE TABLE `datahub_dataconnector_apache_logs` (
`ipaddr` string COMMENT 'from deserializer',
`identity` string COMMENT 'from deserializer',
`username` string COMMENT 'from deserializer',
`accesstime` string COMMENT 'from deserializer',
`request` string COMMENT 'from deserializer',
`status` string COMMENT 'from deserializer',
`size` string COMMENT 'from deserializer',
`referer` string COMMENT 'from deserializer',
`agent` string COMMENT 'from deserializer'
) PARTITIONED BY (ds string, hh string, mm string);
步骤2 为DatahubTopic创建DataConnector。
等待约10-15分钟,查看DataConnector的同步状态。
在MaxCompute中查看分区信息。
预览数据。
十、Azkaban定时任务迁移和改造
10.1 将表datahub_dataconnector_apache_logs数据灌入odps_apache_logs
本实践方案中Hive数据仓库中的原始表apache_logs有一个分区字段ds(日期值),每天生成一个分区。在使用MMA工具迁移到MaxCompute表odps_apache_logs的过程中,保留了该分区字段,因此在MaxCompute上可以看到该表有一个分区字段:
Datahub Topic中数据同步到MaxCompute表datahub_dataconnector_apache_logs,有3个分区字段,每小时生成一个分区:
下面步骤我们将创建一个定时调度任务:每小时的第10分钟执行数据集成任务,将datahub_dataconnector_apache_logs表中上一小时分区的数据灌入到表 odps_apache_logs中。例如上面截图中:
在20200224的18点10分,将源表datahub_dataconnector_apache_logs分区ds=20200224/hh=17/mm=00分区的数据,灌入到目标表odps_apache_logs的分区 ds=20200224中。
步骤1 登录到Dataworks数据库开发控制台。(https://ide2-cn-shanghai.data.aliyun.com/)
步骤2 新建业务流程。
步骤3 新建数据集成离线同步任务。
步骤4 双击离线同步任务节点,进行编辑。
选择数据源并设置分区信息。
说明:分区信息将决定,抽取源表中的哪些分区的数据,并插入到目标表的哪个分区,是整个数据同步任务的关键。
在本例中,源表datahub_dataconnector_apache_logs有3个分区字段,分别表示日期(ds)、小时(hh)、分钟(mm)。设置抽取数据的规则为:抽取定时任务执行时前一个小时分区的数据。例如,该任务在2020年2月24日18点10分运行,那么将抽取ds=20200224/hh=17/mm=00,并加载到目标表odps_apache_logs的ds=20200224分区中。
- 源表分区取值:
ds=${date_of_last_hour} 变量date_of_last_hour表示取上一个小时的日期
值。
hh=${last_hour} 变量last_hour表示取上一个小时的小时值。
mm=00 因为源表分区是每小时创建的,所以使用00。
- 目标表分区取值:
ds=${date_of_last_hour} 变量date_of_last_hour表示取上一个小时的日期
值。
- 变量的赋值,将在步骤7自定义参数配置中进行。
字段映射和通道控制,在本例中保持默认即可。
设置调度参数:任务被正确调度的关键信息,详情请查看产品文档:
https://help.aliyun.com/document_detail/137548.html
- 基础属性,自定义参数配置:
- date_of_last_hour: $[yyyymmdd-1/24]表示取任务执行时间前一个小时的日期值。
- last_hour: $[hh24-1/24]表示取任务执行时间前一个小时的小时值。
结果如下所示:
- 时间属性:将在下一个小时的10分被首次调度。
- 调度依赖。
- 节点上下文保持默认。
提交任务。
进入右上角运维,进入该任务的运维中心。
查看到下一个被调度的任务:
在任务被调用之前,目标表odps_apache_logs仅有4个分区。
当第一个任务(定时时间为2020-02-24 18:10:00)运行成功之后,预期源表
datahub_dataconnector_apache_logs中ds=20200224/hh=16/mm=00分区的记录,将被插入到目标表odps_apache_logs的ds=20200224分区中。本最佳实践编写过程中,已经执行了3个定时任务:2020-02-24 18:10:00、2020-02-24 19:10:00和2020-02-24 18:10:00。因此,在目标表odps_apache_logs的分区中应该包含源表datahub_dataconnector_apache_logs如下3个分区的数据:
- ds=20200224/hh=17/mm=00
- ds=20200224/hh=18/mm=00
- ds=20200224/hh=19/mm=00
使用者可以通过SQL对目标表和源表进行数据查询,确认数据记录条数相同。例如:
源表查询语句:
10.2 改造Azkaban测试工程中Job 99_ip_statics
10.2.1 修改HiveSQL并提交ODPS SQL任务
该Job执行周期为每天1点钟执行1次,执行的操作为:对Hive数据仓库表apache_log表中前一天的日志数据,计算IP地址的访问次数,并将结果保存到Hive外部表 hbase_external_table_job99_ip_statics(关联hbase表99_ip_statics)。
在MaxCompute改造后的任务执行规则如下:在每小时执行完任务01_将datahub表记录按小时汇总到odps_apache_logs表之后,将表datahub_dataconnector_apache_logs中前一个小时的日志记录,处理后的结果插入到中间表hbase_intermediate_table_job99_ip_statics中,后续使用数据集成任务同步到云数据库Hbase表99_ip_statics中。
原Job的详细HiveSQL语句如下所示:
HiveSQL需要进行一定的语法重新适配、表名修改等步骤才可以运行成功,这里用黄色背景标识出修改点。
步骤1 修改原始HiveSQL的语法格式、自建函数等内容,上面黄色修改点按照ODPS SQL语法标准修改后,用红色字体标识:
关于HiveSQL修改为ODPS SQL的过程,目前暂未提供自动化工具进行修改,但是根据经验大部分的HiveSQL关键字、数据类型、自建函数,都可以在ODPS SQL中找到,有少部分需要进行语法改造。
创建MaxCompute中间表hbase_intermediate_table_job99_ip_statics由于目前MaxCompute还不支持外部表关联到Hbase表的方式,因此我们需要将步骤1的ODPS SQL执行结果保存到中间表hbase_external_table_job99_ip_statics,后续通过数据集成任务将中间表的数据同步到云数据库Hbase表job99_ip_statics中。在临时查询窗口中执行下面的建表语句:
CREATE TABLE hbase_intermediate_table_job99_ip_statics
(
KEY STRING
,log_record_date STRING
,ipaddr STRING
,ip_count_value STRING
,process_date STRING
)
PARTITIONED BY
(
ds STRING
,hh STRING
,mm STRING
)
;
执行结果如下图所示:
步骤2创建ODPS SQL执行任务,在业务流程中,添加ODPS SQL节点:
将目前已有的两个节点连接起来,使得这两个任务节点具有上下游的依赖关系。
通过 https://dmc-cn-shanghai.data.aliyun.com/dm/mydata/ihave 登录控制台。
10.2.2 将中间表同步到云数据库Hbase实例
本节将演示如何通过独享数据集成资源组将中间表数据同步至云数据库Hbase实例的表中。
源表:ODPS hbase_intermediate_table_job99_ip_statics
目标表:云数据库Hbasejob99_ip_statics
独享资源组详细内容请查看 https://help.aliyun.com/document_detail/137838.html
步骤1 登录Dataworks控制台。(https://workbench.data.aliyun.com/consolenew?#/)
步骤2 在左侧导航栏选择资源组列表,确认地域为华东2(上海),在独享资源组页签下单击
新增独享资源组。
将独享数据集成资源组所绑定的VPC网段添加到云数据库Hbase实例的访问控制表中:
https://hbase.console.aliyun.com/hbase/cn-shanghai/clusters
创建ODPS到Hbase数据集成同步任务。
10.2.3 查看执行成功的任务
10.2.4 改造Azkaban测试工程中Job 98_add_device_and_user_type
https://code.aliyun.com/bussiness_support_yunkui/bigdata/raw/master/data_integration_script/job98_user_detail
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- Nginx原理与优化参数配置
Nginx的工作机制Nginx 可以处理多少个请求由 work 来决定, work 越多处理的请求就越多, 它底层是通过一个争抢机制, 默认会启动两个进程, 分别是 Master & worker master 就是Nginx 的主进程, 用户发送的所有请求会先进入到 Master 主进程里, 进入到 Master 主进程之后, m…...
2024/4/24 9:52:10 - [week14] T3 —— 猫睡觉问题
文章目录题意InputOutput输入样例输出样例提示分析总结代码 题意 众所周知,TT家里有一只魔法喵。这只喵十分嗜睡。一睡就没有白天黑夜。喵喵一天可以睡多次!!每次想睡多久就睡多久╭(╯^╰)╮ 喵睡觉的时段是连续的,即一旦喵喵开始睡觉了,就不能被打扰,不然喵会咬人哒[○…...
2024/4/24 9:52:11 - 比YOLOv3更快更强 | POLY-YOLO: HIGHER SPEED, MORE PRECISE DETECTION AND INSTANCE SEGMENTATION FOR YOLOV3
分析出了YOLOv3存在的两个问题(具有启发性),使用高分辨率的单一尺度特征输出来缓解问题。感觉更像是工程性的改进,此外实验也太少了点。 论文地址:https://arxiv.org/pdf/2005.13243.pdf Github:https://gitlab.com/irafm-ai/poly-yoloAbstract: 论文提出了性能更好的YO…...
2024/4/24 9:52:07 - Android Studio 4.0 稳定版全方位详解
作者| 恋猫de小郭| 掘金Android Studio 4.0(2020年5月) 更新啦,此版本包含了各种新功能和改进,还有一些废弃配置。重要提示:更新后,需要重新启动 Android Studio 才能应用从早期版本的 IDE 迁移的所有内存设置。有关更多信息,请参见“已知问题”页面。一、Android Gradl…...
2024/4/24 9:52:09 - 链游玩家周报(2020.5.25-5.31)
导语:上周链游玩家平台动态总览:链游玩家创始人月野兔周四”玩赚系列“直播人气爆棚、一周年福利活动火爆来袭、多款精品链游现已上线。月野兔周四系列直播 | 链游农场上线、周年活动在5月28号的“玩赚游戏系列直播”中,链游玩家创始人月野兔分享了链游农场的玩法,为大家演…...
2024/4/17 16:59:46 - 将两个单链表合并形成的单链表仍然有序
package com.atguigu.linkedlist;/*** @author carry_C* @date 2020/5/30 - 14:13* 要求:合并两个有序的单链表,合并之后的链表依然有序*/ public class SingleLinkedListDemoTest1 {public static void main(String[] args) {//创建第一个单链表SingleLinkedList2 singleLin…...
2024/4/16 9:25:20 - Bootstrap轮播
轮播图,相信是每个程序员都会接触到的一种图片展示方式,在Bootstrap中也为我们提供了插件来让我们简单的写出轮播图。 <div id="myCarousel" class="carousel slide"><!-- 轮播(Carousel)指标 --><ol class="carousel-indicators&…...
2024/4/19 18:24:49 - 解决: Android.bp ninja: error: unknown target MODULES-IN-xxx报错
解决方案:将Android.bp修改为Android.mk实现即可. 栗子: # emacs Android.mk LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS)LOCAL_SRC_FILES := led_client.cpp LOCAL_MODULE := led_client_demo LOCAL_MODULE_TAGS := optinal LOCAL_SHARED_LIBRARIES := liblog libu…...
2024/4/16 9:25:20 - TI CC2540 HAL之一(UART_DMA)
TI的BLE协议栈中在链路层发送数据的时候回关中断,而且这个关中断时间可能达到1ms,假设串口波特率是115200的话,在这1ms内串口将进不了接收中断,所以有概率会丢失数据。所以需要利用DMA来进行高速的串口通信。 一、DMA初始化 (1)初始化第一步: DMA通道配置地址寄存器,对…...
2024/4/16 9:25:40 - CSS新手入门【2】
font-family 设置字体系列 font-size 设置字号大小 font-weight 设置字体粗细 font-style 设置字体样式 简写:font:style weight size line-height family; 文本颜色:color 文本对齐:text-align 文本装饰:decoration(去除下划线) 文本缩进:text-ind…...
2024/5/4 11:42:01 - 求助!用iis服务器部署网站后 css js 403错误的问题
在服务器内访问网站正常以下是控制台返回的错误:但用外网访问服务器文本内容加载正常 CSS样式和JS都出现了问题网上搜索的答案可是我的静态内容已经打开了 求助!!!小白一枚 刚刚接触 目前处在学习阶段。...
2024/4/16 9:25:20 - HTML5的大纲以及canvas
HTML5的大纲HTML5的大纲分为显式编排和隐式编排 显式编排是指明确使用<section>来进行分块,从而创建网页,在每个区块内使用<h>标题。 隐式编排是指不使用<section>来进行区域划分,而是使用<h>或 <hgroup>元素排版的方式。这种排版方式的分级规…...
2024/5/2 20:51:13 - 0601-2020-LEETCODE-经典.46把数字翻译成字符串-经典.47礼物的最大价值(经典的DP问题)
一开始自己想用DFS,死活想不出来,最后看评论可以用DP,今天的两道题都是用dp解的,一定要多注意想不出来的时候,特别是数组字符串问题,多用dp。 评论链接:https://leetcode-cn.com/problems/li-wu-de-zui-da-jie-zhi-lcof/comments/public int translateNum(int num) {if …...
2024/4/24 9:52:06 - Tensorflow2.0 | (1) 张量与建模方式
本文基于深度之眼tensorflow课程进行系统化梳理...
2024/4/24 9:52:07 - day10 - javascript中的DOM和节点相关操作
document object model == 文档 对象 模型 document对象,属于window对象,在documet前面应该加window对象。当然,可以省略window对象。 1.获取元素: (1)通过document获取节点 document.getElementById("标签id名"); // 通过标签的id名获取标签 document.getEleme…...
2024/5/2 13:23:35 - hadoop
Hadoop大数据 大数据是指无法在一定时间内用常规软件工具对其内容进行抓取、管理和处理的数据集合。 大数据特征: 4V特征: Volume(大数据量):90%的数据是过去两年产生 Velocity(速度快):数据增长速度快,时效性高 Variety(多样化):数据种类和来源多样化 结构化数据、…...
2024/4/24 9:52:03 - ios中fiddler抓包无法抓取https请求问题解决
通过以下方式解决:https://www.jianshu.com/p/54da1fc344d7...
2024/4/24 9:52:04 - 常用链表链及其必备操作
文章目录单链表的反转算法获取链表中有效节点的个数(不包含头节点)获取倒数第K个结点合并两条有序的单链表,合并之后仍然是有序的双向链表单向环形链表josehu环问题 #常用链表链及其必备操作 单链表的反转算法 思路分析 (1)遍历单链表,获取当前链表的当前结点curNode,并记录…...
2024/4/24 9:52:04 - C++ | C++入门总结(三)
迭代器所有标准库容器都可以使用迭代器,比如vector、string等。使用迭代器可以访问某个元素,迭代器也能从一个元素移动到另外一个元素。可以使用迭代器的这些类型中,都有begin和end成员,这两个成员可以返回迭代器:begin负责返回指向第一个元素(或第一个字符)的迭代器;e…...
2024/4/24 9:51:59 - as实现安卓蓝牙通信
安卓蓝牙通信1.布局2.蓝牙通信的具体实现(1)书写构造方法,接收UI主线程传递的对象(2)使用多线程,取消 CONNECTING 和 CONNECTED 状态下的相关线程,然后运行新的 mConnectThread 线程(3)管理蓝牙的连接,使用socket套接字(4)对连接状态发生改变进行处理3.通信实现的思…...
2024/4/23 15:11:31
最新文章
- 论文研读 ——用于医学图像分类的双引导的扩散网络
DiffMIC: Dual-Guidance Diffusion Network for Medical Image Classification 论文地址[2303.10610] DiffMIC: Dual-Guidance Diffusion Network for Medical Image Classification (arxiv.org) 代码地址 https://github.com/scott-yjyang/DiffMIC 1.摘要 扩散概率模型最近…...
2024/5/4 18:30:15 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - debian内核版本升级步骤详解
在Debian系统上升级内核版本可以通过以下步骤进行详细操作: 步骤一:更新软件包列表 Bash 1sudo apt update 这条命令会更新本地的软件包列表索引,以便系统知道仓库中有哪些可用的新版软件包,包括新的内核版本。 步骤二&#x…...
2024/5/3 13:13:42 - 汽车统一诊断服务UDS协议参考文章和视频
UDS基础知识介绍-电子发烧友网 【图解UDS】UDS汽车诊断标准协议(ISO14229)带你入门到精通-有驾 车载测试之UDS诊断协议9:0x27服务:解锁ECU_哔哩哔哩_bilibili UDS诊断的22服务(DID读取数据)和2E服务&…...
2024/5/2 2:41:27 - Mockito 学习及使用
Mockito 学习并使用 1. Mock List Test void action001() {// org.mockito.Mockito#mock()// mock creationList mockedList mock(List.class);// using mock objectmockedList.add("one");mockedList.clear();// org.mockito.Mockito#verify()// verificationver…...
2024/5/1 22:54:24 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/1 17:30:59 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/2 16:16:39 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/29 2:29:43 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/3 23:10:03 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/30 9:43:09 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/4 18:20:48 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/29 20:46:55 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/30 22:21:04 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/1 4:32:01 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/4 2:59:34 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/28 5:48:52 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/30 9:42:22 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/2 9:07:46 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/30 9:42:49 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57