Bu konuda, yerel bir veri dosyasındaki verileri mevcut bir tabloya aktarmak için MaxCompute istemcisi ve Tunnel Upload komutunun nasıl kullanılacağı açıklanmaktadır.
Ön koşullar
Aşağıdaki ön koşulların karşılandığını onaylayın:
-
Bir tablo oluşturdunuz.
Daha fazla bilgi için bkz. Tablo oluşturma.
-
CSV veya TXT biçimindeki bir veri dosyasını yerel bilgisayarınıza indirdiniz.
Bu konuda aşağıdaki örnek veri dosyaları kullanılmaktadır:
Bölümlenmemiş tablo için veri dosyası:banking.txt.
Bölümlenmiş tablo için veri dosyaları:banking_nocreditcard.csv,banking_uncreditcard.csv ve banking_yescreditcard.csv.
1. Adım: Veri aktarma
Yerel bir dosyadan MaxCompute tablosuna veri aktarmak için Tunnel Upload komutunu kullanabilirsiniz. Tunnel işlemleri hakkında daha fazla bilgi için bkz. Tunnel komutları. Aktarım süreci şu şekildedir:
-
Veri dosyasının yolunu belirleyin.
Veri dosyası yolu için iki seçenek bulunur. Dosyayı MaxCompute istemcisinin
bin
klasörüne kaydederseniz yükleme yolu
filename.extension
şeklinde olur. Dosyayı D sürücüsündeki test klasörü gibi başka bir yola kaydederseniz yükleme yolu
D:\test\filename.extension
şeklinde olur.
Bu konuda,
banking.txtörnek veri dosyası MaxCompute istemcisininbinklasörüne kaydedilmiştir.banking_yescreditcard.csv,banking_uncreditcard.csvvebanking_nocreditcard.csvdosyaları ise D sürücüsündeki test klasörüne kaydedilmiştir. -
MaxCompute istemcisinde Tunnel Upload komutunu çalıştırarak verileri aktarın.
Aşağıdaki komutlar örnektir.
tunnel upload banking.txt bank_data; tunnel upload D:\test\banking_yescreditcard.csv bank_data_pt/credit="yes"; tunnel upload D:\test\banking_uncreditcard.csv bank_data_pt/credit="unknown"; tunnel upload D:\test\banking_nocreditcard.csv bank_data_pt/credit="no";Aktarım tamamlandığında ekranda
OK
ifadesi görüntülenir.
odps@ doc_test_dev>tunnel upload D:\test\banking_yescreditcard.csv bank_data_pt/credit="yes", Upload session: 202105171550120131f60b242a2417 Start upload:D:\test\banking_yescreditcard.csv Using \r\n to split records Upload in strict schema mode: true Total bytes:351 Split input to 1 blocks 2021-05-17 15:47:58 scan block: '1' 2021-05-17 15:47:58 scan block complete, block id: 1 2021-05-17 15:47:58 upload block: '1' 2021-05-17 15:47:59 upload block complete, block id: 1 upload complete, average speed is 351 bytes/s OK
2. Adım: Aktarım sonucunu doğrulama
Veriler aktarıldıktan sonra hedef tablodaki kayıt sayısının veri dosyasındaki kayıt sayısıyla eşleştiğini doğrulayın. Bu işlem, tüm verilerin başarıyla aktarıldığını teyit eder.
Bu konuda, banking.txt örnek veri dosyası 41.188 kayıt içermektedir. banking_yescreditcard.csv, banking_uncreditcard.csv ve banking_nocreditcard.csv dosyaları sırasıyla 3, 8.597 ve 32.588 kayıt içermektedir. Aşağıdaki komut buna örnek teşkil eder.
select count(*) as num1 from bank_data;
select count(*) as num2 from bank_data_pt where credit="yes";
select count(*) as num3 from bank_data_pt where credit="unknown";
select count(*) as num4 from bank_data_pt where credit="no";
Aşağıdaki sonuçlar döner.
--The number of records in bank_data.
+------------+
| num1 |
+------------+
| 41188 |
+------------+
--The number of records in bank_data_pt where credit is "yes".
+------------+
| num2 |
+------------+
| 3 |
+------------+
--The number of records in bank_data_pt where credit is "unknown".
+------------+
| num3 |
+------------+
| 8597 |
+------------+
--The number of records in bank_data_pt where credit is "no".
+------------+
| num4 |
+------------+
| 32588 |
+------------+
Önceki komutların döndürdüğü sonuçlar örnek veri dosyalarındaki kayıt sayılarıyla eşleşiyorsa aktarım başarılı olmuştur.
Sonraki adımlar
Veriler bir MaxCompute tablosuna aktarıldıktan sonra MaxCompute istemcisinde SQL komutlarını çalıştırarak verileri işleyebilir ve sonuçları dışa aktarabilirsiniz. Daha fazla bilgi için bkz. SQL komutlarını çalıştırma ve sonuç verilerini dışa aktarma.