Migrieren Sie die Daten in der SQL-Dienstdatenbank nach ClickHourse

Zunächst müssen wir in ClickHourse entsprechende Tabellen entsprechend den Tabellen der SQL Server-Datenbank erstellen:

CREATE TABLE IF NOT EXISTS default.PosSalSheet(
                 SheetID String,
                 PosType Int8,
                 Status Int8,
                 IsRefund Int8,
RefundStatus Int8,
SheetDate DateTime64,
AppName String,
ShopID String,
ShopName String,
DtbCYTypeID Int8,
BaseID String,
BaseName String,
SalesAmo Decimal128(4),
Amo Decimal128(4),
Discount Decimal32(4),
DisAmo Decimal128(4),
CouponAmo Decimal128(4),
ExchangeAmo Decimal128(4),
AdjAmo Decimal128(4),
FeeAmo Decimal128(4),
FreightAmo Decimal128(4),
PackagingAmo Decimal128(4),
PolybagAmo Decimal128(4),
TotalAmo Decimal128(4),
PayAmo  Decimal128(4),
ChangeAmo Decimal128(4),
CostAmo Decimal128(4),
CreatedDate DateTime64
             )
             ENGINE = MergeTree
             ORDER BY (SheetID )
             SETTINGS index_granularity = 8192;

Dann verwende ich hier die von datax durchgeführte Datenmigration:

Öffnen Sie das dekomprimierte Datax-Verzeichnis auf dem Server, legen Sie die geschriebene JSON-Anweisung im Jobordner ab und geben Sie die Anweisung ein

python bin/datax.py ./job/possalsheet.json

Aufgaben ausführen

Der Inhalt von possalsheet.json ist wie folgt:

{
    "job": {
        "content": [
            {
                "reader": {
                    "name": "sqlserverreader",
                    "parameter": {
                        "connection": [
                            {
                                "jdbcUrl": [
                                    "jdbc:sqlserver://47.106.64.222:1433;DatabaseName=HBBPosData"
                                ],
                                "querySql": [
                                    " select SheetID,PosType,Status,IsRefund,RefundStatus,SheetDate,AppName,ShopID,ShopName,DtbCYTypeID,BaseID,BaseName,SalesAmo,Amo,Discount,DisAmo,CouponAmo,ExchangeAmo,AdjAmo,FeeAmo,FreightAmo,PackagingAmo,PolybagAmo,TotalAmo,PayAmo,ChangeAmo,CostAmo,CreatedDate from PosSalSheet"
                                ]
                            }
                        ],
                        "username": "Hnust",
                        "password": "Hnust@202302061746YXJ.."
                    }
                },
                "writer": {
                    "name": "clickhousewriter",
                    "parameter": {
                        "username": "default",
                        "password": "123456",
                        "column": [ "*" ],
                        "connection": [
                            {
                                "jdbcUrl": "jdbc:clickhouse://192.168.186.154:8123/default",
                                "table": [
                                    "PosSalSheet"
                                ]
                            }
                        ],
                        "preSql": [],
                        "postSql": [],
                        "batchSize": 65536,
                        "batchByteSize": 134217728,
                        "dryRun": false,
                        "writeMode": "insert"
                    }
                }
              
            }
        ],
        "setting": {
            "speed": {
                "channel": "1"
            }
        }
    }
}

Der Austausch ist endlich abgeschlossen. Wenn Sie die komprimierte Datei von datax möchten, füge ich sie hier in meine Ressourcen ein

Supongo que te gusta

Origin blog.csdn.net/CSH__/article/details/129310466
Recomendado
Clasificación