مشاركة عبر


إنشاء طرق عرض واستخدامها باستخدام تجمع SQL بلا خادم في Azure Synapse Analytics

في هذه المقالة، ستتعلم كيفية تخزين نتائج الاستعلام للتخزين باستخدام تجمع SQL بلا خادم.

المتطلبات الأساسية

خطوتك الأولى هي إنشاء قاعدة بيانات حيث ستقوم بتنفيذ الاستعلامات. ثم قم بتهيئة الكائنات عن طريق تنفيذ برنامج نصي للإعداد على قاعدة البيانات هذه. سينشئ برنامج الإعداد هذا مصادر البيانات وبيانات اعتماد نطاق قاعدة البيانات وتنسيقات الملفات الخارجية المستخدمة لقراءة البيانات في هذه العينات.

يرجى اتباع التعليمات الواردة في هذه المقالة لإنشاء مصادر البيانات وبيانات اعتماد نطاق قاعدة البيانات وتنسيقات الملفات الخارجية المستخدمة لكتابة البيانات في تخزين الإخراج.

إنشاء جدول خارجي كخيار للتحديد

يمكنك استخدام قائمة إنشاء جدول خارجي كخيار للتحديد (CETAS) لتخزين نتائج الاستعلام للتخزين.

إشعار

قم بتغيير هذه القيم في الاستعلام لتعكس بيئتك:

  • mydbname - غيره إلى اسم قاعدة البيانات التي أنشأتها
  • storage-account-sas - توقيع الوصول المشترك لحساب تخزين حيث تريد كتابة نتائجك
  • your-storage-account-name - اسم حساب التخزين الخاص بك حيث تريد كتابة نتائجك (تأكد من أن لديك حاوية تسمى "csv" أو أنك قمت بتغيير اسم الحاوية هنا أيضا)
USE [mydbname];
GO

CREATE DATABASE SCOPED CREDENTIAL [SasTokenWrite]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
     SECRET = 'storage-account-sas';
GO

CREATE EXTERNAL DATA SOURCE [MyDataSource] WITH (
    LOCATION = 'https://your-storage-account-name.blob.core.windows.net/csv', CREDENTIAL = [SasTokenWrite]
);
GO

CREATE EXTERNAL FILE FORMAT [ParquetFF] WITH (
    FORMAT_TYPE = PARQUET,
    DATA_COMPRESSION = 'org.apache.hadoop.io.compress.SnappyCodec'
);
GO

CREATE EXTERNAL TABLE [dbo].[PopulationCETAS] WITH (
        LOCATION = 'populationParquet/',
        DATA_SOURCE = [MyDataSource],
        FILE_FORMAT = [ParquetFF]
) AS
SELECT
    *
FROM
    OPENROWSET(
        BULK 'csv/population-unix/population.csv',
        DATA_SOURCE = 'sqlondemanddemo',
        FORMAT = 'CSV', PARSER_VERSION = '2.0'
    ) WITH (
        CountryCode varchar(4),
        CountryName varchar(64),
        Year int,
        PopulationCount int
    ) AS r;

إشعار

يجب عليك تعديل هذا البرنامج النصي وتغيير الموقع الهدف لتنفيذه مرة أخرى. لا يمكن إنشاء جداول خارجية على الموقع حيث لديك بعض البيانات بالفعل.

استخدام جدول خارجي

يمكن استخدام الجدول الخارجي الذي تم إنشاؤه من خلال CETAS مثل الجدول الخارجي العادي.

إشعار

قم بتغيير السطر الأول في الاستعلام، أي [mydbname]، بحيث تستخدم قاعدة البيانات التي أنشأتها.

USE [mydbname];
GO

SELECT
    CountryName, PopulationCount
FROM PopulationCETAS
WHERE
    [Year] = 2019
ORDER BY
    [PopulationCount] DESC;

الملاحظات

بمجرد تخزين النتائج، لا يمكن تعديل البيانات الموجودة في الجدول الخارجي. لا يمكنك تكرار هذا البرنامج النصي لأن CETAS لن يقوم بالكتابة فوق البيانات الأساسية التي تم إنشاؤها في التنفيذ السابق.

أنواع الإخراج المدعومة الوحيدة حاليا هي Parquet وCSV.

للحصول على مزيد من المعلومات حول كيفية الاستعلام عن أنواع الملفات المختلفة، راجع مقالات الاستعلام عن ملف CSV واحد، والاستعلام عن ملفات Parquet، والاستعلام عن ملفات JSON.