Azure Data Factory veya Synapse Analytics kullanarak Cassandra'dan veri kopyalama
UYGULANANLAR: Azure Data Factory Azure Synapse Analytics
İpucu
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 genel bakış sunan kopyalama etkinliğine genel bakış makalesini oluşturur.
Desteklenen özellikler
Bu Cassandra bağlayıcısı aşağıdaki özellikler için desteklenir:
Desteklenen özellikler | IR |
---|---|
Kopyalama etkinliği (kaynak/-) | (1) (2) |
Arama etkinliği | (1) (2) |
(1) Azure tümleştirme çalışma zamanı (2) Şirket içinde 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'nın 2.x ve 3.x sürümleri.
- Temel veya Anonim kimlik doğrulaması kullanarak verileri kopyalama.
Not
Şirket İçinde Barındırılan Tümleştirme Çalışma Zamanı'nda çalıştırılan etkinlik için, IR sürüm 3.7 ve üzeri sürümden itibaren 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.
Şirket içinde barındırılan tümleştirme çalışma zamanı yüklemeden ve yapılandırmadan şirket içi ağa erişmek için Azure Data Factory'deki yönetilen sanal ağ tümleştirme çalışma zamanı özelliğini de kullanabilirsiniz.
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şlarken
İşlem hattıyla Kopyalama etkinliği gerçekleştirmek için aşağıdaki araçlardan veya SDK'lardan birini kullanabilirsiniz:
- Veri Kopyalama aracı
- Azure portal
- .NET SDK'sı
- Python SDK'sı
- Azure PowerShell
- The 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:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Tür özelliği şu şekilde ayarlanmalıdır: Cassandra | Yes |
host | 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. |
Yes |
port | Cassandra sunucusunun istemci bağlantılarını dinlemek için kullandığı TCP bağlantı noktası. | Hayır (varsayılan değer 9042'dir) |
authenticationType | Cassandra veritabanına bağlanmak için kullanılan kimlik doğrulama türü. İzin verilen değerler şunlardır: Temel ve Anonim. |
Yes |
username | Kullanıcı hesabı için kullanıcı adını belirtin. | Evet, authenticationType Temel olarak ayarlandıysa. |
password | 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 |
Not
Şu anda TLS kullanılarak Cassandra bağlantısı desteklenmiyor.
Örnek:
{
"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:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Veri kümesinin tür özelliği şu şekilde ayarlanmalıdır: CassandraTable | Yes |
anahtar alanı | Cassandra veritabanındaki anahtar alanının veya şemanın adı. | Hayır ("CassandraSource" için "sorgu" belirtilirse) |
tableName | 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 İşlem 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 kopyalama etkinliğindeki kaynak türünü CassandraSource olarak ayarlayın. Kopyalama etkinliği kaynağı bölümünde aşağıdaki özellikler desteklenir:
Özellik | Açıklama | Gerekli |
---|---|---|
Tür | Kopyalama etkinliği kaynağının type özelliği şu şekilde ayarlanmalıdır: CassandraSource | Yes |
query | Verileri okumak için özel sorguyu kullanın. SQL-92 sorgusu veya CQL sorgusu. Bkz. CQL başvurusu. 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). |
consistencyLevel | 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 veriler için belirtilen sayıda çoğaltmayı denetler. Ayrıntılar için bkz . Veri tutarlılığını yapılandırma. İzin verilen değerler şunlardır: BİR, İkİ, ÜÇ, ÇEKIRDEK, 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"
},
"sink": {
"type": "<sink type>"
}
}
}
]
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ü |
---|---|
ASCII | String |
BIGINT | Int64 |
BLOB | Bayt[] |
BOOLEAN | Boolean |
ON -DA -LIK | Decimal |
ÇİFT | Çift |
FLOAT | Tekli |
INET | String |
INT | Int32 |
METİN | String |
TIMESTAMP | DateTime |
TIMEUUID | GUID |
UUID | GUID |
VARCHAR | String |
VARINT | Ondalık |
Not
Koleksiyon türleri (harita, küme, liste vb.) için 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.
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 normalleştirilmiş 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 | StringSet |
---|---|---|---|---|
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 | List_index | List_value |
---|---|---|
1 | 0 | 1 |
1 | Kategori 1 | 2 |
1 | 2 | 3 |
3 | 0 | 100 |
3 | 1 | 101 |
3 | 2 | 102 |
3 | 3 | 103 |
Tablo "ExampleTable_vt_Map":
pk_int | Map_key | Map_value |
---|---|---|
1 | S1 | A |
1 | S2 | b |
3 | S1 | t |
Tablo "ExampleTable_vt_StringSet":
pk_int | StringSet_value |
---|---|
1 | A |
1 | K |
1 | C |
3 | A |
3 | E |
Arama etkinliği özellikleri
Özellikler hakkında ayrıntılı bilgi edinmek için Arama etkinliği'ne bakın.
İlgili içerik
Kopyalama etkinliği tarafından kaynak ve havuz olarak desteklenen veri depolarının listesi için bkz . desteklenen veri depoları.