Aracılığıyla paylaş


Amazon Redshift'te federasyon sorguları çalıştırma

Önemli

Bu özellik Genel Önizlemededir.

Bu makalede, Azure Databricks tarafından yönetilmeyen Amazon Redshift verilerinde sorgu çalıştırma konusunda federasyon sorguları çalıştırmak için Lakehouse Federasyonu'nun nasıl ayarlanacağı açıklanır. Lakehouse Federasyonu hakkında daha fazla bilgi edinmek için bkz . Lakehouse Federasyonu nedir?

Lakehouse Federation kullanarak Amazon Redshift veritabanında çalıştır sorgularınıza bağlanmak için Azure Databricks Unity Kataloğu meta veri deponuzda aşağıdakileri oluşturmanız gerekir:

  • Amazon Redshift veritabanında sorgu çalıştırma bağlantınız.
  • Unity Kataloğu'ndaki Amazon Redshift veritabanında çalıştır sorgularınızı yansıtan yabancı bir katalog ; böylece Unity Kataloğu sorgu söz dizimini ve veri idare araçlarını kullanarak Azure Databricks kullanıcısının veritabanına erişimini yönetebilirsiniz.

Başlamadan önce

Çalışma alanı gereksinimleri:

  • Unity Kataloğu için etkinleştirilen çalışma alanı.

İşlem gereksinimleri:

  • Databricks Runtime kümenizden veya SQL ambarından hedef veritabanı sistemlerine ağ bağlantısı. Bkz . Lakehouse Federasyonu için ağ önerileri.
  • Azure Databricks kümeleri Databricks Runtime 13.3 LTS veya üzerini ve paylaşılan veya tek kullanıcılı erişim modunu kullanmalıdır.
  • SQL ambarları Pro veya Sunucusuz olmalıdır.

Gerekli izinler:

  • Bağlantı oluşturmak için meta veri deposu yöneticisi veya çalışma alanına bağlı Unity Kataloğu meta veri deposunda ayrıcalığı olan CREATE CONNECTION bir kullanıcı olmanız gerekir.
  • Yabancı katalog oluşturmak için meta veri deposu üzerinde izninizin olması ve bağlantının sahibi olmanız veya bağlantıda ayrıcalığınız olması CREATE FOREIGN CATALOG gerekirCREATE CATALOG.

Aşağıdaki her görev tabanlı bölümde ek izin gereksinimleri belirtilir.

Bağlantı oluşturma

Bağlantı, bir dış veritabanı sistemine erişmek için bir yol ve kimlik bilgileri belirtir. Bağlantı oluşturmak için, Bir Azure Databricks not defterinde veya CREATE CONNECTION Databricks SQL sorgu düzenleyicisinde Katalog Gezgini'ni veya SQL komutunu kullanabilirsiniz.

Gerekli izinler: Meta veri deposu yöneticisi veya ayrıcalığına CREATE CONNECTION sahip kullanıcı.

Katalog gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayınKatalog simgesi.
  2. Sol bölmede Dış Veri menüsünü genişletin ve Bağlan yonlar'ı seçin.
  3. Bağlantı oluştur'a tıklayın.
  4. Kullanıcı dostu bir Bağlan ion adı girin.
  5. Redshift'in Bağlan bir türünü seçin.
  6. Redshift örneğinin aşağıdaki bağlantı özelliklerini girin.
    • Konak: Örneğin, redshift-demo.us-west-2.redshift.amazonaws.com
    • Bağlantı noktası: Örneğin, 5439
    • Kullanıcı: Örneğin, redshift_user
    • Parola: Örneğin, password123
  7. (İsteğe bağlı) Çalıştığını onaylamak için Bağlantıyı test et'e tıklayın.
  8. (İsteğe bağlı) Açıklama ekleyin.
  9. Oluştur’a tıklayın.

Sql

Aşağıdaki komutu bir not defterinde veya Databricks SQL sorgu düzenleyicisinde çalıştırın.

CREATE CONNECTION <connection-name> TYPE redshift
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Kimlik bilgileri gibi hassas değerler için düz metin dizeleri yerine Azure Databricks gizli dizilerini kullanmanızı öneririz. Örneğin:

CREATE CONNECTION <connection-name> TYPE redshift
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Gizli dizileri ayarlama hakkında bilgi için bkz . Gizli dizi yönetimi.

Yabancı katalog oluşturma

Yabancı katalog, Azure Databricks ve Unity Kataloğu'nu kullanarak bu veritabanındaki verileri sorgulayıp yönetebilmeniz için bir dış veri sistemindeki veritabanını yansıtır. Yabancı katalog oluşturmak için, önceden tanımlanmış olan veri kaynağına bir bağlantı kullanırsınız.

Yabancı katalog oluşturmak için, Bir Azure Databricks not defterinde veya CREATE FOREIGN CATALOG Databricks SQL sorgu düzenleyicisinde Katalog Gezgini'ni veya SQL komutunu kullanabilirsiniz.

gerekli izinler:CREATE CATALOG meta veri deposu üzerindeki izin ve bağlantının sahipliği veya CREATE FOREIGN CATALOG bağlantı üzerindeki ayrıcalık.

Katalog gezgini

  1. Azure Databricks çalışma alanınızda Katalog'a tıklayınKatalog simgesi.
  2. Katalog Oluştur düğmesine tıklayın.
  3. Yeni katalog oluştur iletişim kutusunda katalog için bir ad girin ve Bir Yabancı Türüseçin.
  4. Unity Kataloğu kataloğu olarak yansıtmak istediğiniz veritabanına erişim sağlayan Bağlan seçin.
  5. Katalog olarak yansıtmak istediğiniz Veritabanının adını girin.
  6. Oluştur’a tıklayın.

Sql

Aşağıdaki SQL komutunu bir not defterinde veya Databricks SQL düzenleyicisinde çalıştırın. Köşeli ayraç içindeki öğeler isteğe bağlıdır. Yer tutucu değerlerini değiştirin:

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

Desteklenen gönderimler

Aşağıdaki gönderimler desteklenir:

  • Filtreler
  • Projeksiyonlar
  • Sınır
  • Birleştirmeler
  • Toplamlar (Average, Count, Max, Min, StddevPop, StddevSamp, Sum, VarianceSamp)
  • İşlevler (Dize işlevleri ve Alias, Cast, SortOrder gibi diğer çeşitli işlevler)
  • Sıralama

Aşağıdaki gönderimler desteklenmez:

  • Windows işlevleri

Veri türü eşlemeleri

Redshift'ten Spark'a okuma yaptığınızda veri türleri aşağıdaki gibi eşlenir:

Redshift türü Spark türü
sayısal Ondalık Türü
int2, int4 IntegerType
int8, oid, xid LongType
float4 FloatType
çift duyarlık, float8, para DoubleType
bpchar, char, karakter değişen, ad, süper, metin, tid, varchar StringType
bayt, geometri, varbayt BinaryType
bit, bool BooleanType
tarih Datetype
tabstime, time, time, time zone ile saat, saat dilimi olmayan saat, saat dilimi ile zaman damgası, zaman damgası, zaman damgası, saat dilimi olmadan zaman damgası* TimestampType/TimestampNTZType

*Redshift'ten okuduğunuzda RedshiftTimestamp, (varsayılan) ise infer_timestamp_ntz_type = false Spark TimestampType ile eşlenir. RedshiftTimestamp, ise infer_timestamp_ntz_type = trueile TimestampNTZType eşlenir.