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.
Şunlar için geçerlidir:Windows
Azure SQL Yönetilen Örneği üzerinde SQLServer
Bu makalede, SQL Server'ın PolyBase özelliğini (2016'dan başlayarak) kullanan sorgu örnekleri sağlanır. Bu örnekleri kullanmadan önce PolyBase'i yüklemeniz ve yapılandırmanız gerekir. Daha fazla bilgi için bkz. PolyBase'e genel bakış.
Önemli
SQL Server 2022'de (16.x), Hadoop'a PolyBase dış kaynakları desteklenmez. Daha fazla bilgi için bkz . PolyBase bağlayıcıları.
Dış tablolarda Transact-SQL deyimlerini çalıştırın veya dış tabloları sorgulamak için BI araçlarını kullanın.
Dış tablodan SELECT işlemi yapın
Tanımlı bir dış tablodan veri döndüren basit bir sorgu.
SELECT TOP 10 * FROM [dbo].[SensorData];
Koşul içeren basit bir sorgu.
SELECT * FROM [dbo].[SensorData]
WHERE Speed > 65;
Yerel tablolarla dış tabloları JOIN etme
SELECT InsuranceCustomers.FirstName,
InsuranceCustomers.LastName,
SensorData.Speed
FROM InsuranceCustomers INNER JOIN SensorData
ON InsuranceCustomers.CustomerKey = SensorData.CustomerKey
WHERE SensorData.Speed > 65
ORDER BY SensorData.Speed DESC
Verileri içeri aktarma
Kalıcı depolama için Hadoop veya Azure Depolama'dan SQL Server'a veri aktar. SQL Server'da kalıcı depolama için dış tablo tarafından başvuruda bulunılan verileri içeri aktarmak için SELECT INTO kullanın. Anında bir ilişkisel tablo oluşturun ve ardından ikinci adımda tablonun üstünde bir sütun deposu dizini oluşturun.
-- PolyBase scenario - import external data into SQL Server
-- Import data for fast drivers into SQL Server to do more in-depth analysis
-- Leverage columnstore technology
SELECT DISTINCT
Insured_Customers.FirstName, Insured_Customers.LastName,
Insured_Customers.YearlyIncome, Insured_Customers.MaritalStatus
INTO Fast_Customers from Insured_Customers INNER JOIN
(
SELECT * FROM CarSensor_Data where Speed > 35
) AS SensorD
ON Insured_Customers.CustomerKey = SensorD.CustomerKey
ORDER BY YearlyIncome
CREATE CLUSTERED COLUMNSTORE INDEX CCI_FastCustomers ON Fast_Customers;
Verileri dışarı aktarma
VERILERI SQL Server'dan Hadoop'a veya Azure Depolama'ya aktarın.
İlk olarak, sp_configure değerini 1 olarak ayarlayarak dışa aktarma işlevini etkinleştirin. Ardından hedef dizine işaret eden bir dış tablo oluşturun. CREATE EXTERNAL TABLE deyimi, henüz yoksa hedef dizini oluşturur. Ardından, yerel bir SQL Server tablosundaki verileri dış veri kaynağına aktarmak için INSERT INTO kullanın.
SELECT deyiminin sonuçları belirtilen dosya biçiminde belirtilen konuma aktarılır. Dış dosyalar QueryID_date_time_ID.format olarak adlandırılır; burada kimlik artımlı tanımlayıcıdır ve biçim dışarı aktarılan veri biçimidir. Örneğin, bir dosya adı QID776_20160130_182739_0.orc olabilir.
Uyarı
Verileri PolyBase aracılığıyla Hadoop veya Azure Blob Depolama'ya aktarırken, CREATE EXTERNAL TABLE komutunda tanımlanan sütun adları (meta veriler) değil, yalnızca veriler dışarı aktarılır.
-- PolyBase scenario - export data from SQL Server to Hadoop
-- Create an external table
CREATE EXTERNAL TABLE [dbo].[FastCustomers2009] (
[FirstName] char(25) NOT NULL,
[LastName] char(25) NOT NULL,
[YearlyIncome] float NULL,
[MaritalStatus] char(1) NOT NULL
)
WITH (
LOCATION='/old_data/2009/customerdata',
DATA_SOURCE = HadoopHDP2,
FILE_FORMAT = TextFileFormat,
REJECT_TYPE = VALUE,
REJECT_VALUE = 0
);
-- Export data: Move old data to Hadoop while keeping it query-able via an external table.
INSERT INTO dbo.FastCustomers2009
SELECT T.* FROM Insured_Customers T1 JOIN CarSensor_Data T2
ON (T1.CustomerKey = T2.CustomerKey)
WHERE T2.YearMeasured = 2009 and T2.Speed > 40;
Yeni katalog görünümleri
Aşağıdaki yeni katalog görünümleri dış kaynakları gösterir.
SELECT * FROM sys.external_data_sources;
SELECT * FROM sys.external_file_formats;
SELECT * FROM sys.external_tables;
kullanarak tablonun dış tablo olup olmadığını belirleme is_external
SELECT name, type, is_external FROM sys.tables WHERE name='myTableName'
Sonraki Adımlar
Sorun giderme hakkında daha fazla bilgi edinmek için bkz. PolyBase sorun giderme.