Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
GEÇERLİ OLDUĞU YERLER:
Azure Data Factory
Azure Synapse Analytics
Tavsiye
Kuruluşlar için hepsi bir arada analiz çözümü olan Microsoft Fabric'te Data Factory'yi deneyin. Microsoft Fabric , veri taşımadan veri bilimine, gerçek zamanlı analize, iş zekasına ve raporlamaya kadar her şeyi kapsar. Yeni bir deneme sürümünü ücretsiz olarak başlatmayı öğrenin!
Bu makalede, Cassandra veritabanından veri kopyalamak için Azure Data Factory veya Synapse Analytics işlem hattında Kopyalama Etkinliği'nin nasıl kullanılacağı özetlenmiştir. Kopyalama etkinliğine genel bir bakış sunan kopyalama etkinliği genel bakışı makalesinin üzerine inşa eder.
Önemli
Cassandra bağlayıcısı sürüm 1.0 kaldırma aşamasındadır. Cassandra bağlayıcısını sürüm 1.0'dan 2.0'a yükseltmeniz önerilir.
Desteklenen özellikler
Bu Cassandra bağlayıcısı aşağıdaki özellikler için desteklenir:
| Desteklenen özellikler | Kızılötesi |
|---|---|
| Kopyalama etkinliği (kaynak/-) | (1) (2) |
| Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Kendi barındırılan tümleştirme çalışma zamanı
Kaynak/havuz olarak desteklenen veri depolarının listesi için Desteklenen veri depoları tablosuna bakın.
Bu Cassandra bağlayıcısı özellikle şunları destekler:
- Cassandra sürüm 2.0 için 3.x.x ve 4.x.x sürümleri.
- Cassandra sürüm 1.0 için 2.x ve 3.x sürümleri.
- Temel veya Anonim kimlik doğrulaması kullanarak verileri kopyalama.
Dikkat
Kendi Barındırılan Entegrasyon Çalışma Zamanı'nda çalıştırılan etkinlik için, Integration Runtime (IR) sürüm 3.7 ve üzeri ile birlikte Cassandra 3.x desteklenir.
Önkoşullar
Veri deponuz bir şirket içi ağ, Azure sanal ağı veya Amazon Sanal Özel Bulut içinde bulunuyorsa, şirket içinde barındırılan tümleştirme çalışma zamanını buna bağlanmak için yapılandırmanız gerekir.
Veri deponuz yönetilen bir bulut veri hizmetiyse Azure Integration Runtime'ı kullanabilirsiniz. Erişim, güvenlik duvarı kurallarında onaylanan IP'ler ile sınırlıysa Azure Integration Runtime IP'lerini izin verme listesine ekleyebilirsiniz.
Azure Data Factory'de yerleşik sanal ağ tümleştirme çalışma zamanı özelliğini kullanarak, kendinden barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan yerel ağa erişebilirsiniz.
Data Factory tarafından desteklenen ağ güvenlik mekanizmaları ve seçenekleri hakkında daha fazla bilgi için bkz . Veri erişim stratejileri.
Integration Runtime yerleşik bir Cassandra sürücüsü sağlar, bu nedenle Cassandra'dan/Cassandra'dan veri kopyalarken herhangi bir sürücüyü el ile yüklemeniz gerekmez.
Başlangıç Yapmak
Kopyalama etkinliğini bir işlem hattıyla gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portalı
- .NET SDK
- Python SDK'sı
- Azure PowerShell
- REST API
- Azure Resource Manager şablonu
Kullanıcı arabirimini kullanarak Cassandra'ya bağlı hizmet oluşturma
Azure portalı kullanıcı arabiriminde Cassandra'ya bağlı bir hizmet oluşturmak için aşağıdaki adımları kullanın.
Azure Data Factory veya Synapse çalışma alanınızda Yönet sekmesine göz atın ve Bağlı Hizmetler'i seçin, ardından Yeni'ye tıklayın:
Cassandra'yı arayın ve Cassandra bağlayıcısını seçin.
Hizmet ayrıntılarını yapılandırın, bağlantıyı test edin ve yeni bağlı hizmeti oluşturun.
Bağlayıcı yapılandırma ayrıntıları
Aşağıdaki bölümlerde Cassandra bağlayıcısına özgü Data Factory varlıklarını tanımlamak için kullanılan özelliklerle ilgili ayrıntılar sağlanır.
Bağlı hizmet özellikleri
Cassandra bağlı hizmeti için aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| tür | Tür özelliği şu şekilde ayarlanmalıdır: Cassandra | Evet |
| Sürüm | Belirttiğiniz sürüm. | Sürüm 2.0 için evet. |
| ev sahibi | Cassandra sunucularının bir veya daha fazla IP adresi veya ana bilgisayar adı. Tüm sunuculara eşzamanlı olarak bağlanmak için ip adreslerinin veya konak adlarının virgülle ayrılmış bir listesini belirtin. |
Evet |
| liman | Cassandra sunucusunun istemci bağlantılarını dinlemek için kullandığı TCP bağlantı noktası. | Hayır (varsayılan değer 9042'dir) |
| kimlik doğrulama türü | Cassandra veritabanına bağlanmak için kullanılan kimlik doğrulama türü. İzin verilen değerler şunlardır: Temel ve Anonim. |
Evet |
| kullanıcı adı | Kullanıcı hesabı için kullanıcı adını belirtin. | Evet, authenticationType Temel olarak ayarlandıysa. |
| şifre | Kullanıcı hesabı için parola belirtin. Güvenli bir şekilde depolamak için bu alanı SecureString olarak işaretleyin veya Azure Key Vault'ta depolanan bir gizli diziye başvurun. | Evet, authenticationType Temel olarak ayarlandıysa. |
| connectVia | Veri deposuna bağlanmak için kullanılacak Integration Runtime. Önkoşullar bölümünden daha fazla bilgi edinin. Belirtilmezse, varsayılan Azure Integration Runtime'ı kullanır. | Hayır |
Dikkat
Şu anda TLS kullanılarak Cassandra bağlantısı desteklenmiyor.
Örnek: sürüm 2.0
{
"name": "CassandraLinkedService",
"properties": {
"type": "Cassandra",
"version": "2.0",
"typeProperties": {
"host": "<host>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Örnek: sürüm 1.0
{
"name": "CassandraLinkedService",
"properties": {
"type": "Cassandra",
"typeProperties": {
"host": "<host>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Veri kümesi özellikleri
Veri kümelerini tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için veri kümeleri makalesine bakın. Bu bölümde Cassandra veri kümesi tarafından desteklenen özelliklerin listesi sağlanır.
Cassandra'dan veri kopyalamak için veri kümesinin tür özelliğini CassandraTable olarak ayarlayın. Aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: CassandraTable | Evet |
| anahtar alanı | Cassandra veritabanındaki anahtar alanının veya şemanın adı. | Hayır ("CassandraSource" için "sorgu" belirtilirse) |
| tabloAdı | Cassandra veritabanındaki tablonun adı. | Hayır ("CassandraSource" için "sorgu" belirtilirse) |
Örnek:
{
"name": "CassandraDataset",
"properties": {
"type": "CassandraTable",
"typeProperties": {
"keySpace": "<keyspace name>",
"tableName": "<table name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<Cassandra linked service name>",
"type": "LinkedServiceReference"
}
}
}
Kopyalama etkinliğinin özellikleri
Etkinlikleri tanımlamak için kullanılabilen bölümlerin ve özelliklerin tam listesi için Boru Hatları makalesine bakın. Bu bölümde Cassandra kaynağı tarafından desteklenen özelliklerin listesi sağlanır.
Kaynak olarak Cassandra
Cassandra'dan veri kopyalamak için 2.0 sürümünü kullanıyorsanız kopyalama etkinliğindeki kaynak türünü CassandraSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: CassandraSource | Evet |
| sorgu | Verileri okumak için özel sorguyu kullanın. CQL sorgusu, bkz. CQL başvurusu. | Hayır (veri kümesinde "tableName" ve "keyspace" belirtilirse). |
| tutarlılık düzeyi | Tutarlılık düzeyi, istemci uygulamasına veri döndürmeden önce okuma isteğine kaç çoğaltmanın yanıt vermesi gerektiğini belirtir. Cassandra, okuma isteğini karşılamak için verilerin belirtilen sayıda replika içerdiğini kontrol eder. Ayrıntılar için bkz . Veri tutarlılığını yapılandırma. İzin verilen değerler şunlardır: BİR, İKİ, ÜÇ, QUORUM, TÜMÜ, LOCAL_QUORUM, EACH_QUORUM ve LOCAL_ONE. |
Hayır (varsayılan değer )ONE |
Örnek:
"activities":[
{
"name": "CopyFromCassandra",
"type": "Copy",
"inputs": [
{
"referenceName": "<Cassandra input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "CassandraSource",
"query": "select id, firstname, lastname from mykeyspace.mytable",
"consistencyLevel": "one"
},
"sink": {
"type": "<sink type>"
}
}
}
]
Cassandra'dan veri kopyalamak için sürüm 1.0 kullanıyorsanız kopyalama etkinliğindeki kaynak türünü CassandraSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
| Mülk | Açıklama | Gerekli |
|---|---|---|
| tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: CassandraSource | Evet |
| sorgu | Verileri okumak için özel sorguyu kullanın. SQL-92 sorgusu veya CQL sorgusu. Bkz. CQL referansı. SQL sorgusu kullanırken, sorgulamak istediğiniz tabloyu temsil etmek için keyspace name.table name değerini belirtin. |
Hayır (veri kümesinde "tableName" ve "keyspace" belirtilirse). |
| tutarlılık düzeyi | Tutarlılık düzeyi, istemci uygulamasına veri döndürmeden önce okuma isteğine kaç çoğaltmanın yanıt vermesi gerektiğini belirtir. Cassandra, okuma isteğini karşılamak için verilerin belirtilen sayıda replika içerdiğini kontrol eder. Ayrıntılar için bkz . Veri tutarlılığını yapılandırma. İzin verilen değerler şunlardır: BİR, İKİ, ÜÇ, QUORUM, TÜMÜ, LOCAL_QUORUM, EACH_QUORUM ve LOCAL_ONE. |
Hayır (varsayılan değer )ONE |
Cassandra için veri türü eşlemesi
Cassandra'dan veri kopyalarken, Cassandra veri türlerinden hizmet içinde dahili olarak kullanılan ara veri türlerine aşağıdaki eşlemeler kullanılır. Kopyalama etkinliğinin kaynak şemayı ve veri türünü havuza nasıl eşlediğini öğrenmek için bkz . Şema ve veri türü eşlemeleri .
| Cassandra veri türü | Ara hizmet veri türü (sürüm 2.0 için) | Ara hizmet veri türü (sürüm 1.0 için) |
|---|---|---|
| ASCII | Dize | Dize |
| BIGINT | Int64 | Int64 |
| BLOB (İkili Büyük Nesne) | Bayt[] | Bayt[] |
| boolean | Boolean (Boole Mantığı) | Boolean (Boole Mantığı) |
| TARİH | Tarih ve Saat | Tarih ve Saat |
| ONDALIK | Ondalık | Ondalık |
| ÇİFT | İki kat | İki kat |
| yüzmek | Bekâr | Bekâr |
| INET | Dize | Dize |
| INT | Int32 | Int32 |
| SMALLINT (Küçük Tamsayı) | Kısa | Int16 |
| METİN | Dize | Dize |
| ZAMAN DAMGASI | Tarih ve Saat | Tarih ve Saat |
| TIMEUUID | Kılavuz | Kılavuz |
| TINYINT | SByte | Int16 |
| UUID | Kılavuz | Kılavuz |
| VARCHAR | Dize | Dize |
| VARINT | Ondalık | Ondalık |
Dikkat
Sürüm 1.0'ın altındaki koleksiyon türleri (harita, küme, liste vb.) için Sürüm 1.0 kullanırken sanal tablo kullanarak Cassandra koleksiyon türleriyle çalışma bölümüne bakın.
Kullanıcı tanımlı türler desteklenmez.
İkili Sütun ve Dize Sütunu uzunluklarının uzunluğu 4000'den büyük olamaz.
Sürüm 2.0 kullanırken koleksiyonlarla çalışma
Cassandra veritabanınızdan veri kopyalamak için sürüm 2.0 kullanırken koleksiyon türleri için sanal tablo oluşturulmaz. Kaynak tabloyu havuza özgün türünde JSON biçiminde kopyalayabilirsiniz.
Örnek
Örneğin, aşağıdaki "ExampleTable", "pk_int" adlı bir tamsayı birincil anahtar sütunu, değer adlı bir metin sütunu, liste sütunu, harita sütunu ve bir küme sütunu ("StringSet" adlı) içeren bir Cassandra veritabanı tablosudur.
| pk_int | Değer | Liste | Harita | DizeKümesi |
|---|---|---|---|---|
| 1 | "örnek değer 1" | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | {"A", "B", "C"} |
| 3 | "örnek değer 3" | ["100", "101", "102", "105"] | {"S1": "t"} | {"A", "E"} |
Veriler doğrudan bir kaynak tablodan okunabilir ve sütun değerleri, aşağıdaki tabloda gösterildiği gibi özgün türlerinde JSON biçiminde korunur:
| pk_int | Değer | Liste | Harita | DizeKümesi |
|---|---|---|---|---|
| 1 | "örnek değer 1" | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | ["A", "B", "C"] |
| 3 | "örnek değer 3" | ["100", "101", "102", "105"] | {"S1": "t"} | ["A", "E"] |
Sürüm 1.0 kullanırken sanal tablo kullanarak koleksiyonlarla çalışma
Hizmet, Cassandra veritabanınıza bağlanmak ve bu veritabanından veri kopyalamak için yerleşik bir ODBC sürücüsü kullanır. Harita, küme ve liste gibi koleksiyon türleri için sürücü verileri karşılık gelen sanal tablolara yeniden normalleştirir. Özellikle, bir tablo herhangi bir koleksiyon sütunu içeriyorsa, sürücü aşağıdaki sanal tabloları oluşturur:
- Koleksiyon sütunları dışında gerçek tabloyla aynı verileri içeren temel tablo. Temel tablo, temsil ettiği gerçek tabloyla aynı adı kullanır.
- İç içe verileri genişleten her koleksiyon sütunu için bir sanal tablo. Koleksiyonları temsil eden sanal tablolar, gerçek tablonun adı, ayırıcı "vt" ve sütunun adı kullanılarak adlandırılır.
Sanal tablolar gerçek tablodaki verilere başvurur ve sürücünün denormalize edilmiş verilere erişmesini sağlar. Ayrıntılar için Örnek bölüme bakın. Sanal tabloları sorgulayıp birleştirerek Cassandra koleksiyonlarının içeriğine erişebilirsiniz.
Örnek
Örneğin, aşağıdaki "ExampleTable", "pk_int" adlı bir tamsayı birincil anahtar sütunu, değer adlı bir metin sütunu, liste sütunu, harita sütunu ve bir küme sütunu ("StringSet" adlı) içeren bir Cassandra veritabanı tablosudur.
| pk_int | Değer | Liste | Harita | DizeKümesi |
|---|---|---|---|---|
| 1 | "örnek değer 1" | ["1", "2", "3"] | {"S1": "a", "S2": "b"} | {"A", "B", "C"} |
| 3 | "örnek değer 3" | ["100", "101", "102", "105"] | {"S1": "t"} | {"A", "E"} |
Sürücü, bu tek tabloyu temsil eden birden çok sanal tablo oluşturur. Sanal tablolardaki yabancı anahtar sütunları, gerçek tablodaki birincil anahtar sütunlarına başvurur ve sanal tablo satırının hangi gerçek tablo satırına karşılık geldiğini belirtir.
İlk sanal tablo, aşağıdaki tabloda "ExampleTable" adlı temel tablodur:
| pk_int | Değer |
|---|---|
| 1 | "örnek değer 1" |
| 3 | "örnek değer 3" |
Temel tablo, bu tablodan atlanan ve diğer sanal tablolarda genişletilen koleksiyonlar dışında özgün veritabanı tablosuyla aynı verileri içerir.
Aşağıdaki tablolarda List, Map ve StringSet sütunlarındaki verileri yeniden normalleştiren sanal tablolar gösterilmektedir. "_index" veya "_key" ile biten adlara sahip sütunlar, verilerin özgün liste veya harita içindeki konumunu gösterir. "_value" ile biten adlara sahip sütunlar, koleksiyondaki genişletilmiş verileri içerir.
Tablo "ExampleTable_vt_List":
| pk_int | Liste_indeksi | Liste Değeri |
|---|---|---|
| 1 | 0 | 1 |
| 1 | 1 | 2 |
| 1 | 2 | 3 |
| 3 | 0 | 100 |
| 3 | 1 | 101 |
| 3 | 2 | 102 |
| 3 | 3 | 103 |
Tablo "ExampleTable_vt_Map":
| pk_int | Harita Anahtarı | Harita_değeri |
|---|---|---|
| 1 | S1 | A |
| 1 | S2 | b |
| 3 | S1 | t |
Tablo "ExampleTable_vt_StringSet":
| pk_int | StringSet_değer |
|---|---|
| 1 | A |
| 1 | B |
| 1 | C |
| 3 | A |
| 3 | E |
Arama faaliyeti özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
Cassandra bağlayıcısını yükseltme
Cassandra bağlayıcısını yükseltmenize yardımcı olacak adımlar şunlardır:
Bağlı hizmeti düzenle sayfasında sürüm 2.0'ı seçin ve Bağlı hizmet özelliklerine başvurarak bağlı hizmeti yapılandırın.
Sürüm 2.0'da,
querykopyalama etkinliği kaynağında sql-92 sorgusunu değil yalnızca CQL sorgusunu destekler. Daha fazla bilgi için bkz. Kaynak olarak Cassandra.Sürüm 2.0 için veri türü eşlemesi, sürüm 1.0'dan farklıdır. En son veri türü eşlemesini öğrenmek için bkz. Cassandra için veri türü eşleme.
Cassandra sürüm 2.0 ile sürüm 1.0 arasındaki farklar
Cassandra bağlayıcısı sürüm 2.0 yeni işlevler sunar ve sürüm 1.0'ın çoğu özelliğiyle uyumludur. Aşağıdaki tabloda sürüm 2.0 ile sürüm 1.0 arasındaki özellik farklılıkları gösterilmektedir.
| Sürüm 2.0 | Sürüm 1.0 |
|---|---|
| CQL sorgusunu destekleyin. | SQL-92 sorgusunu veya CQL sorgusunu destekleyin. |
Veri kümesinde keyspace ve tableName'i ayrı ayrı belirtme desteği. |
Veri setinde tablo adını elle girerken keyspace düzenleme desteği sağlayın. |
| Koleksiyon türleri için sanal tablo oluşturulmaz. Daha fazla bilgi için bkz. Sürüm 2.0 kullanırken koleksiyonlarla çalışma. | Sanal tablolar koleksiyon türleri için oluşturulur. Daha fazla bilgi için bkz. Sürüm 1.0 kullanırken sanal tablo kullanarak Cassandra koleksiyon türleriyle çalışma. |
| Cassandra veri türlerinden ara hizmet veri türüne aşağıdaki eşlemeler kullanılır. SMALLINT -> Kısa TINYINT -> SByte |
Cassandra veri türlerinden ara hizmet veri türüne aşağıdaki eşlemeler kullanılır. SMALLINT -> Int16 TINYINT -> Int16 |
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.