MaxCompute, üç farklı veri türü sürümünü destekler: MaxCompute V1.0, MaxCompute V2.0 ve Hive uyumlu. Her sürüm, proje düzeyindeki bir dizi parametre ile kontrol edilir. Bu konu, her bir sürümü açıklar, hangi durumlarda kullanılması gerektiğini belirtir ve etkin sürümün nasıl görüntüleneceği ile değiştirileceği hakkında bilgi verir.
Bir veri türü sürümü seçin
Etkin veri türü sürümü şunları etkiler:
Tablolarda kullanılabilen veri türleri
DML deyimlerinin ve yerleşik işlevlerin davranışı
MaxCompute'a bağlı geliştirme bileşenlerinin uyumluluğu
Bir sürüm ayarlamadan önce, etkiyi anlamak için MaxCompute V2.0 veri türü sürümü ile diğer veri türü sürümleri arasındaki farklar bölümünü okuyun.
Aşağıdaki tabloda, her bir sürümün ne zaman kullanılacağı özetlenmiştir:
|
|
|
|
|
|
|
|
|
|
|
|
Veri türü sürüm referansı
Her sürüm, üç proje parametresinin sabit bir kombinasyonuna karşılık gelir:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MaxCompute V1.0 veri türü sürümü
setproject odps.sql.type.system.odps2=false; -- Disable the MaxCompute V2.0 data type edition.
setproject odps.sql.decimal.odps2=false; -- Disable the DECIMAL type in MaxCompute V2.0.
setproject odps.sql.hive.compatible=false; -- Disable the Hive-compatible data type edition.
MaxCompute V2.0 veri türü sürümü
setproject odps.sql.type.system.odps2=true; -- Enable the MaxCompute V2.0 data type edition.
setproject odps.sql.decimal.odps2=true; -- Enable the DECIMAL data type in MaxCompute V2.0.
setproject odps.sql.hive.compatible=false; -- Disable the Hive-compatible data type edition.
Hive uyumlu veri türü sürümü
setproject odps.sql.type.system.odps2=true; -- Enable the MaxCompute V2.0 data type edition.
setproject odps.sql.decimal.odps2=true; -- Enable the DECIMAL data type in MaxCompute V2.0.
setproject odps.sql.hive.compatible=true; -- Enable the Hive-compatible data type edition.
Hangi Alibaba Cloud hizmetlerinin ve bileşenlerinin her bir sürümle uyumlu olduğu hakkında bilgi için Bileşenler ve veri türleri arasındaki uyumluluk bölümüne bakın.
Bir projenin veri türü sürümünü görüntüleyin
Aşağıdaki komutu MaxCompute istemcisinde çalıştırın:
setproject;
Etkin sürümü belirlemek için çıktıda odps.sql.type.system.odps2, odps.sql.decimal.odps2 ve odps.sql.hive.compatible değerlerini kontrol edin.
Bir projenin veri türü sürümünü değiştirin
Veri türü sürümünü değiştirmek için proje sahibi olmanız veya Super_Administrator rolüne sahip olmanız gerekir.
Aşağıdaki komutları MaxCompute istemcisinde, DataWorks konsolunda veya MaxCompute Studio'da çalıştırın:
-- View the data type edition of a project.
setproject;
-- Enable or disable the MaxCompute V2.0 data type edition.
setproject odps.sql.type.system.odps2=true/false;
-- Enable or disable the DECIMAL type in MaxCompute V2.0.
setproject odps.sql.decimal.odps2=true/false;
-- Enable or disable the Hive-compatible data type edition.
setproject odps.sql.hive.compatible=true/false;
DataWorks konsolundaki DataStudio'nun bir ODPS SQL düğümünde, setproject komutları tek başına çalıştırılamaz. Bunları bir SELECT veya INSERT SQL deyimi ile birlikte çalıştırın.
Sürümler arasında geçiş yaparken uyumluluk sorunlarını çözün
Sorun: Proje V2.0 kullanıyor ancak bazı bileşenler V1.0 gerektiriyor.
Seçenekler:
Proje düzeyindeki sürümü MaxCompute V1.0 olarak değiştirin.
-
Projeyi V2.0'da tutun ve etkilenen bileşenler için oturum düzeyinde bir geçersiz kılma ayarlayın:
set odps.sql.type.system.odps2=false;NotBu komutu, aynı oturumdaki diğer komutlarla birlikte gönderin. Komut küçük harfle yazılmalıdır.
Sorun: Bazı SQL deyimleri V1.0 gerektirirken, diğerleri current_timestamp gibi V2.0 özelliklerine dayanır.
Seçenekler:
V1.0'a bağımlı deyimleri ayrı oturumlara bölün ve bu oturumlar için oturum düzeyindeki veri türü sürümünü V1.0 olarak ayarlayın.
SQL deyimlerini, sürüm bağımlılığını kaldıracak şekilde yeniden yazın.
Sorun: Proje başlangıçta V2.0 kullandı ancak V1.0'a geri dönmesi gerekiyor.
Geçiş yapmadan önce, V2.0 veri türlerini kullanan tablolardaki etkilenen sütunları dönüştürün:
TINYINT, SMALLINT veya INT → BIGINT
CHAR veya VARCHAR → STRING
Alternatif olarak, V1.0 veri türlerini kullanarak yeni bir tablo oluşturun ve CAST işlevini kullanarak verileri V2.0 tablosundan bu yeni tabloya taşıyın.