Help Center/ DataArts Studio/ User Guide/ DataArts Migration/ Tutorials/ Migrating Data from MySQL to OBS
Updated on 2022-09-23 GMT+08:00

Migrating Data from MySQL to OBS

Scenario

CDM supports table-to-OBS data migration. This section describes how to migrate tables from a MySQL database to OBS. The process is as follows:

  1. Creating a CDM Cluster and Binding an EIP to the Cluster
  2. Creating a MySQL Link
  3. Creating an OBS Link
  4. Creating a Migration Job

Prerequisites

  • You have obtained the domain name, port number, AK, and SK for accessing OBS.
  • You have obtained the IP address, port, database name, username, and password for connecting to the MySQL database. In addition, the user must have the read and write permissions on the MySQL database.
  • You have uploaded a MySQL database driver by following the instructions provided in Managing Drivers.

Creating a CDM Cluster and Binding an EIP to the Cluster

  1. If is an independent CDM service, create a CDM cluster by following the instructions provided in Creating a Cluster. If is used as a CDM component of DataArts Studio, create a CDM cluster by following the instructions provided in Creating a Cluster.

    The key configurations are as follows:

    The flavor of the CDM cluster is selected based on the amount of data to be migrated. Generally, cdm.medium meets the requirements for most migration scenarios.

  2. After the CDM cluster is created, on the Cluster Management page, click Bind EIP in the Operation column to bind an EIP to the cluster. The CDM cluster uses the EIP to access MySQL.

    If SSL encryption is configured for the access channel of a local data source, CDM cannot connect to the data source using the EIP.

Creating a MySQL Link

  1. On the Cluster Management page, locate a cluster and click Job Management in the Operation column. On the displayed page, click the Links tab and then Create Link.

    Figure 1 Selecting a connector

  2. Select MySQL and click Next. On the page that is displayed, configure MySQL link parameters.

    Figure 2 Creating a MySQL link

    Click Show Advanced Attributes and set optional parameters. For details, see Link to Relational Databases. Retain the default values of the optional parameters and configure the mandatory parameters according to Table 1.

    Table 1 MySQL link parameters

    Parameter

    Description

    Example Value

    Name

    Unique link name

    mysqllink

    Database Server

    IP address or domain name of the MySQL database server

    192.168.1.110

    Port

    MySQL database port

    3306

    Database Name

    Name of the MySQL database

    sqoop

    Username

    User who has the read, write, and delete permissions on the MySQL database

    admin

    Password

    Password of the user

    -

    Use Local API

    Whether to use the local API of the database for acceleration. (The system attempts to enable the local_infile system variable of the MySQL database.)

    Yes

    Use Agent

    Whether to extract data from the data source through an agent

    Yes

    local_infile Character Set

    When using local_infile to import data to MySQL, you can configure the encoding format.

    utf8

    Driver Version

    A driver version that adapts to MySQL

    -

    Agent

    Click Select to select the agent created in Connecting to an Agent.

    -

    Fetch Size

    (Optional) Displayed when you click Show Advanced Attributes.

    Number of rows obtained by each request. Set this parameter based on the data source and the job's data size. If the value is either too large or too small, the job may run for a long time.

    1000

    Commit Size

    (Optional) Displayed when you click Show Advanced Attributes.

    Number of records submitted each time. Set this parameter based on the data destination and the job's data size. If the value is either too large or too small, the job may run for a long time.

    1000

    Link Attributes

    Custom attributes of the link

    useCompression=true

    Reference Sign

    Delimiter used to separate referenced table names or column names This parameter is left blank by default.

    '

    Batch Size

    Number of rows written each time. It should be less than Commit Size. When the number of rows written reaches the value of Commit Size, the rows will be committed to the database.

    100

  3. Click Save. The Link Management page is displayed.

    If an error occurs during the saving, the security settings of the MySQL database are incorrect. In this case, you need to enable the EIP of the CDM cluster to access the MySQL database.

Creating an OBS Link

  1. Click Job Management in the Operation column of the CDM cluster. On the displayed page, click the Links tab and then Create Link. The Select Connector page is displayed.

    Figure 3 Selecting a connector type

  2. Select Object Storage Service (OBS) and click Next to configure parameters for the OBS link.

    • Name: Enter a custom link name, for example, obslink.
    • OBS Server and Port: Enter the actual OBS address information.
    • AK and SK: Enter the AK and SK used for logging in to OBS.
    Figure 4 Creating an OBS link

  3. Click Save. The Link Management page is displayed.

Creating a Migration Job

  1. Choose Table/File Migration > Create Job to create a job for exporting data from the MySQL database to OBS.

    Figure 5 Creating a job for migrating data from MySQL to OBS
    • Job Name: Enter a unique name.
    • Source Job Configuration
      • Source Link Name: Select the mysqllink created in Creating a MySQL Link.
      • Use SQL Statement: Select No.
      • Schema/Tablespace: name of the schema or tablespace from which data is to be extracted
      • Table Name: name of the table from which data is to be extracted
      • Retain the default values of other optional parameters. For details, see From a Common Relational Database.
    • Destination Job Configuration
      • Destination Link Name: Select the obslink created in Creating an OBS Link.
      • Bucket Name: Select the bucket from which the data will be migrated.
      • Write Directory: Enter the directory to which data is to be written on the OBS server.
      • File Format: Select CSV.
      • Retain the default values of the optional parameters in Show Advanced Attributes. For details, see To OBS.

  2. Click Next. The Map Field page is displayed. CDM automatically matches the source and destination fields, as shown in Figure 6.

    • If the field mapping is incorrect, you can drag the fields to adjust the mapping.
    • The expressions in CDM support field conversion of common character strings, dates, and values. For details, see Converting Fields.
    Figure 6 Table-to-file field mapping

  3. Click Next and set task parameters. Generally, retain the default values of all parameters.

    In this step, you can configure the following optional functions:
    • Retry Upon Failure: If the job fails to be executed, you can determine whether to automatically retry. Retain the default value Never.
    • Group: Select the group to which the job belongs. The default group is DEFAULT. On the Job Management page, jobs can be displayed, started, or exported by group.
    • Schedule Execution: To configure scheduled jobs, see Scheduling Job Execution. Retain the default value No.
    • Concurrent Extractors: Enter the number of extractors to be concurrently executed. CDM supports concurrent extraction of MySQL data. If indexes are configured for the source table, you can increase the number of concurrent extractors to accelerate the migration.
    • Write Dirty Data: Specify this parameter if data that fails to be processed or filtered out during job execution needs to be written to OBS for future viewing. Before writing dirty data, create an OBS link. For file-to-table data migration, you are advised to write dirty data.
    • Delete Job After Completion: Retain the default value Do not delete. You can also set this parameter to Delete to prevent an accumulation of too many migration jobs.

  4. Click Save and Run. The Job Management page is displayed, on which you can view the job execution progress and result.
  5. After the job is successfully executed, in the Operation column of the job, click Historical Record to view the job's historical execution records and read/write statistics.

    On the Historical Record page, click Log to view the job logs.