Продажи: 1-800-867-1389

Сегментирование SSIS и компоненты Azure

Любой нетривиальный набор данных, занесенный в базу данных SQL Windows Azure™, требует определенного уровня сегментирования. Сегментирование может быть выполнено в Microsoft® SQL Server® Integration Services (SSIS) посредством адаптеров условного разделения и множественных данных назначения. Однако этот метод связан с некоторыми ограничениями.

  • Сложность процесса проектирования. Область конструктора для SSIS становится слишком громоздкой при использовании множества компонентов. Некоторые схемы сегментирования могут включать сотни сегментов. Проектирование пакета SSIS для достижения всех указанных целей становится длительной задачей, и при ее выполнении часто возникают ошибки из-за необходимости открывать и настраивать каждый компонент. У каждого компонента также должен быть диспетчер подключения, параметризуемый при его перемещении из среды разработки в рабочую среду без переработки.

    Более полное обсуждение сегментирования, включая причины и методы, см. записи блога Сегментирование с SQL Azure

  • Динамически изменяющаяся среда требует переработки. Параметры позволяют изменять имена серверов и баз данных, однако с их помощью невозможно изменять наборы мест назначения. В сегментированных хранилищах данных количество сегментов может часто изменяться. В случае с обычными готовыми компонентами изменения требуют переработки и развертывания пакета SSIS. Компонент места назначения сегментирования SSIS позволяет обойти эту проблему посредством считывания каталога сегментирования при каждом запуске и установки соответствующих подключений на основе содержимого каталога сегментирования.

  • Имена таблиц не являются динамическими в стандартных местах назначения. Чтобы вставить данные в базу данных Windows Azure SQL, можно использовать адаптер загрузки данных назначения «ADO.NET», «ODBC» или «OLE DB». Однако во всех этих компонентах таблицы должны быть заданы и не могут быть параметризованы. В некоторых сценариях логического сегментирования имена таблиц могут изменяться; кроме того, возможно добавление дополнительных таблиц. Компоненты сегментирования также допускают возможность динамического характера имен таблиц в данных назначения.

  • Для Windows Azure и сжатия данных не существует компонентов SSIS. При перемещении данных через обширную глобальную сеть или соединение с ограниченной полосой пропускания необходимо сжимать файлы и разделять большие наборы данных с целью их доставки в места назначения, по мере извлечения данных из источников. Компоненты источников и назначений, представляющие собой большие двоичные объекты, позволяют разделять данные, сжимать файлы, перемещать данные в хранилище больших двоичных объектов Azure и из него (в рамках двухэтапного перемещения или перемещения в хранилище больших двоичных объектов для использования HDInsight), а также предоставляют возможность использования запросов, позволяющих пакетам в каждой конечной точке ограниченной сети обрабатывать фрагментированные данные конвейерным способом.

Компоненты сегментирования базы данных SSIS позволяют преодолеть эти трудности.

Компоненты и сценарии установки каталога сегментирования отдельно доступны для загрузки в центре загрузки Майкрософт. Для полноценного использования компонентов следует загрузить и установить оба файла, выполнив указанные ниже действия.

Загрузка и установка компонентов

  1. Загрузите файл SSIS Database Sharding Components.zip с сайта загрузки.

  2. Откройте файл и переместите содержимое в папку на компьютере, на который будут устанавливаться компоненты SSIS.

    noteПримечание
    SSIS из Microsoft SQL Server 2012 должен устанавливаться на том компьютере, на котором планируется устанавливать компоненты.

  3. Запустите установщик SSISDatabaseSharding64.msi.

  4. Подпишите лицензионное соглашение и нажмите кнопку Далее. Будут установлены все компоненты и зависимости.

  5. Откройте SQL Server Data Tools и создайте новый проект SSIS.

  6. Перетащите задачу потока данных на область конструктора и дважды щелкните на ней.

  7. Посмотрите на панель инструментов SSIS и убедитесь, что назначение больших двоичных объектов, источник больших двоичных объектов и компоненты сегментирования базы данных отображаются на панели элементов так, как показано на рис. 1.

    Рис. 1Рис. 1. Назначение больших двоичных объектов, источник больших двоичных объектов и компоненты сегментирования базы данных отображаются на панели элементов потока данных, если компоненты установлены правильно.

Чтобы установить каталог сегментирования, выполните следующие действия.

  • Загрузите файл Sharding Catalog Setup Scripts.zip с сайта загрузки.

  • В базе данных SQL Server или в базе данных SQL Windows Azure, которая будет доступна пакету при его разработке и выполнении, выполните сценарий ShardingSchema.sql и затем сценарий ShardingStoredProcedures.sql. Эти два сценария содержат определения таблиц для каталога сегментирования, а также сохраненные процедуры, позволяющие настроить надлежащий каталог сегментирования.

  • Сценарий TestAndExamples.sql содержит пример использования сохраненных процедур для настройки каталога сегментирования.

После установки компонентов и каталога сегментирования можно приступать к использованию компонентов для подключения и перемещения сегментированных данных назначения в любое хранилище данных, совместимое с OLE DB.

Назначение сегментирования можно использовать при вводе назначения данных вручную. Тем не менее, для полноценного использования возможности изменения схемы сегментирования без повторной разработки пакетов необходимо создать каталог сегментирования. В этом разделе описывается процесс использования сохраненных процедур для настройки каталога сегментирования.

Полностью настроенный каталог сегментирования содержит следующие элементы.

  1. Два или более серверов базы данных. В каталоге сегментирования необходимо указать каждый сервер, содержащий базу данных, которая будет использоваться в схеме сегментирования. Эта информация определяет, каким образом будут расположены серверы, и включает имя сервера, с использованием которого компонент сегментирования будет формировать строку подключения.

  2. Одна или несколько баз данных, которые должны быть настроены. Каждая база данных должна находиться на сервере, включенном в каталог сегментирования. Компонент назначения сегментирования будет использовать имя базы данных для настройки требуемых подключений.

  3. По крайней мере один набор сегментов, который должен быть создан. Набор сегментов определяет схему сегментирования, которая будет использоваться для распределения данных. В идеальном случае набор сегментов представляет собой сегментированное хранилище данных.

  4. По крайней мере одно распределение сегментирования, которое должно быть создано для каждого набора сегментов. Данное распределение определяет схему сегментирования как POINT или RANGE, определяет столбец, который будет использоваться в качестве ключа сегментирования, а также тип данных, к которому относится столбец. Кроме того, оно предоставляет сведения о столбце при использовании таких типов данных как FLOAT и DOUBLE.

  5. Члены, которые должны быть определены для каждого распределения сегментирования. Данное членство определяет, какие будут отправляться строки таблицы и базы данных, содержащие конкретные значения. Каждый член сегментирования должен быть связан с базой данных.

Ниже представлен полноценный пример конфигурации.

-- First, add the server.
DECLARE @srvid INT

EXEC [ShardMeta].[AddServerToShardingScheme] 
@ServerName= 'changed.database.windows.net'
,@Descr= 'Destination Server for the Demo'
,@ServerID = @srvid OUTPUT

-- Next, add the shard databases.

DECLARE @shard0ID INT
DECLARE @shard1ID INT
DECLARE @shard2ID INT
DECLARE @shard3ID INT
DECLARE @shard4ID INT
DECLARE @shard5ID INT
DECLARE @shard6ID INT
DECLARE @shard7ID INT
DECLARE @shard8ID INT
DECLARE @shard9ID INT
DECLARE @shard10ID INT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD000'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard0ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD001'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard1ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD002'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard2ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD003'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard3ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD004'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard4ID OUTPUT


EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD005'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard5ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD006'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard6ID OUTPUT


EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD007'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard7ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD008'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard8ID OUTPUT

EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD009'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard9ID OUTPUT


EXEC [ShardMeta].[AddDatabaseToShardingScheme]
@ServerID= @srvid
,@DatabaseName= 'SHARD010'
,@Descr= 'Destination Database for the Demo'
,@DatabaseID= @shard10ID OUTPUT

-- Next, add the shard set.

DECLARE @ShardSID INT

EXEC [ShardMeta].[AddShardSetToShardingScheme]
@name= 'Point Distro For demo'
,@Descr= 'Point Distribution for Demo'
,@ShardSetID= @ShardSID OUTPUT

-- Add a distribution to the shard set.

-- There are only two types of @Distribution_type:
-- POINT and RANGE
-- POINT means only one value per shard. Example: col1 = 1 or col1 = 2
-- RANGE means a range goes into the shard. Example: -1 < col1 <= 2
-- When @Boundary_value_in_high, the upper bound of a range is included
-- in the shard, but not the lower. So when this is set to 1,
-- a range of -1 to 2 would be: -1 < col1 <= 2
-- Conversely, if it is set to 0, the range from -1 to 2 would be
-- defined as: -1 <= col1 < 2
-- If the sharding column is a system data type, both the
-- @System_Type_Name and @User_type_name parameters contain the system data type name.
-- If the user type is different, name the type name in the @User_Type_Name 
-- parameter.


EXEC [ShardMeta].[AddShardDistributionToShardingScheme]
@ShardSetID= @ShardSID
,@Distribution_Name= 'Point Distro For demo'
,@Distribution_Type= 'POINT'
,@System_Type_Name= 'INT'
,@User_type_name= 'INT'
,@Boundary_value_in_high = 1

-- Add in the members for the “Point Distro For demo” distribution.

-- @MemberID must be unique within each @ShardSetID.
-- The order of MemberID is the order in which the conditions will be
-- evaluated for placement into a shard.
-- @Name is the case-sensitive name of the column as it
-- will appear in the SSIS dataflow. If this is the name
-- of the column in the source, nothing must be done
-- to change this in the SSIS dataflow. However, if it does
-- not exist in the source, use a derived column to create the 
-- column in the dataflow before it reaches the sharding destination.
-- For POINT distributions, @Range_Low and @Range_High are the same.


EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 0
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard0ID
,@TableName= 'dbo.TestData'
,@Range_Low= 0
,@Range_High= 0

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 1
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard1ID
,@TableName= 'dbo.TestData'
,@Range_Low= 1
,@Range_High= 1

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 2
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard2ID
,@TableName= 'dbo.TestData'
,@Range_Low= 2
,@Range_High= 2

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 3
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard3ID
,@TableName= 'dbo.TestData'
,@Range_Low= 3
,@Range_High= 3

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 4
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard4ID
,@TableName= 'dbo.TestData'
,@Range_Low= 4
,@Range_High= 4

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 5
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard5ID
,@TableName= 'dbo.TestData'
,@Range_Low= 5
,@Range_High= 5

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 6
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard6ID
,@TableName= 'dbo.TestData'
,@Range_Low= 6
,@Range_High= 6

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 7
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard7ID
,@TableName= 'dbo.TestData'
,@Range_Low= 7
,@Range_High= 7

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 8
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard8ID
,@TableName= 'dbo.TestData'
,@Range_Low= 8
,@Range_High= 8

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 9
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard9ID
,@TableName= 'dbo.TestData'
,@Range_Low= 9
,@Range_High= 9

EXEC [ShardMeta].[AddShardSetMemberToShardingScheme]
@ShardSetID= @ShardSID
,@MemberID= 10
,@Distribution_Name= 'Point Distro For demo'
,@Name= 'ShardingKey'
,@DatabaseID= @Shard10ID
,@TableName= 'dbo.TestData'
,@Range_Low= 10
,@Range_High= 10

В демонстрационном наборе данных настроены 11 сегментов. Каждый сегмент относится к отдельной базе данных. Задан один набор сегментов и распределение сегментирования. Данные сегментируются на ключе ShardingKey (помните, что это имя чувствительно к регистру). Для каждого сегмента, в который будут направлены данные, задается один член набора сегментов. В данной схеме в места назначения будут переданы только ключи ShardingKey от 0 до 10.

Настоятельно рекомендуем использовать сохраненные процедуры. Однако, вследствие проверки, выполняемой каждой из сохраненных процедур для ввода данных, вы можете обнаружить данные, введенные сохраненными процедурами в таблицах каталога и изменить их, не затрагивая сохраненные процедуры. Чтобы найти данные, введенные в сохраненные процедуры, обратитесь к таблицам в схеме ShardMeta.

После настройки каталога сегментирования и указания действительных баз данных его можно использовать для передачи данных. В этом разделе содержится пример создания пакета, который будет использовать компонент сегментирования и каталог сегментирования.

В этом примере исходные таблицы и таблицы назначения имеется схема, заданная следующим образом.

CREATE TABLE [dbo].[TestData](
[KeyCol] [bigint] NOT NULL,
[IntCol1] [int] NOT NULL,
[IntCol2] [int] NOT NULL,
[IntCol3] [int] NOT NULL,
[CharCol1] [nvarchar](50) NOT NULL,
[CharCol2] [nvarchar](50) NOT NULL,
[CharCol3] [nvarchar](50) NOT NULL,
[CharCol4] [nvarchar](50) NOT NULL,
PRIMARY KEY CLUSTERED 
(
[KeyCol] ASC
)
)

Вы можете создать эту таблицу и заполнить ее случайными данными для выполнения примера установки с использованием схемы каталога сегментов, заданной ранее.

  1. Откройте SQL Server Data Tools и создайте новый проект SSIS.

  2. Создайте пакет в проекте.

  3. Добавьте задачу потока данных в пакет, после чего щелкните вкладку Поток данных.

  4. Перетащите источник ADO.NET на область конструктора потока данных.

  5. Выполните процедуру создания диспетчера подключения и укажите в нем исходную таблицу данных. Закройте диспетчер по завершении его настройки.

    noteПримечание
    При установке схемы сегментирования в предыдущем разделе ключ сегментирования представляет собой столбец с именем ShardingKey. Этот ключ отсутствует в исходных данных, но он должен присутствовать в потоке данных SSIS до достижения данными места назначения сегментирования базы данных. С помощью извлеченного столбца создайте такой столбец в потоке данных SSIS. В этом шаге нет необходимости, если ключ сегментирования присутствует в самих данных.

  6. Перетащите преобразование извлеченного столбца на область конструктора потока данных SSIS и подключите выходные данные из источника ADO.NET к этому компоненту.

  7. Настройте извлеченное преобразование столбца следующим образом.

    1. Используйте ShardingKey в качестве имени извлеченного столбца. Это имя является чувствительным к регистру и оно должно совпадать с именем столбца ключа сегментирования в каталоге сегментирования.

    2. В выражении следует использовать код [KeyCol] % 11. В результате этого ключ сегментирования получит возможные значения от 0 до 10; именно таким образом настроен каталог сегментирования для направления строк.

    После настройки извлеченного столбца он должен выглядеть так, как показано на рис. 2.

    Рис. 2Рис. 2. Полностью настроенный извлеченный столбец, добавляющий столбец SharingKey в поток данных и определяющий его как остаток от деления 11 на KeyCol.

  8. Перетащите место назначения сегментирования базы данных на область конструктора и подключите к нему выход извлеченного столбца.

  9. Дважды щелкните, чтобы открыть конструктор, после чего выполните следующие действия.

    1. Щелкните Создать в области Установите подключение к каталогу сегментирования, после чего выполните определение диспетчера подключений, указывающего на базу данных каталога сегментирования, созданную ранее.

    2. В списке Выберите набор сегментирования выберите набор сегментирования, который был создан для этой демонстрации (Point Distro for demo).

    3. Щелкните Создать в области Диспетчер подключения к назначению. Появится новый диспетчер подключения сегментирования (SHARDINGCM).

    4. Укажите имя пользователя и пароль, которые будут использоваться для подключения к базам данных назначения. Для базы данных Windows Azure нельзя использовать интерфейс SSPI.

      noteПримечание
      Можно задать только одну пару имени пользователя и пароля для подключения ко всем серверам и базам данных, участвующим в схеме сегментирования. Убедитесь, что у каждой базы данных есть имя пользователя и пароль, и что им назначены достаточные привилегии.

      noteПримечание
      Хотя в рамках этой демонстрации можно задать имя пользователя и пароль напрямую, они являются параметризуемыми, аналогично именам пользователей и паролям в других диспетчерах подключения в SSIS. Так как имя пользователя и пароль являются параметризуемыми, можно переместить пакет после разработки, либо изменить учетные данные входа во время выполнения.

      На рис. 3 показано, как выглядит редактор адаптера назначения данных сегментирования после выполнения предыдущих шагов.

      Рис. 3Рис. 3. Пример страницы 1 адаптера назначения данных сегментирования. Диспетчер подключения drxufmq90b.database.windows.net.ShardCatalog.AzureCat указывает на каталог сегментирования. Используется набор сегментов с именем Point Distro For Azure CAT Summit. Диспетчер подключения с именем SQL Sharding Connection Manager содержит имя пользователя и пароль, которые будут использоваться для подключения ко всем базам данных назначения в схеме сегментирования.

    5. Нажмите кнопку ОК, чтобы завершить настройку диспетчера подключения к назначению сегментирования.

    6. Щелкните Подключения на левой панели редактора, чтобы отобразить адаптер назначения сегментирования. На данном этапе редактор подключится к каталогу сегментирования и отобразит пункты назначения, заданные в настоящее время в каталоге сегментирования (см. рис. 4). Обратите внимание, что речь идет только о тех данных, которые в данный момент присутствуют в каталоге сегментирования. Эти данные можно изменить после конструирования, так как при каждом выполнении компонент подключается к каталогу сегментирования для определения текущего состояния каталога. В большинстве случаев следует установить флажок Использовать массовую вставку, хотя для обработки возможных нарушений первичного ключа может понадобиться вставка строк по отдельности.

      Рис. 4Рис. 4. Страница "Подключения" на адаптере назначения сегментирования. Информация в выражениях и таблицах была извлечена из каталога сегментирования, который был задан на стр. 1.

    7. Щелкните Привязки на панели слева. Компонент автоматически привяжет столбцы с одинаковым именем, как показано на рис. 5. Если имена столбцов различны, их можно привязать вручную. В данном случае следует обратить внимание на то, что привязываются все столбцы, за исключением ShardingKey. Столбец ShardingKey отсутствует в таблице назначения и присутствует только в потоке данных, позволяя компоненту назначения сегментирования направлять строки в нужный сегмент.

      Рис. 5Рис. 5. Страница привязок на адаптере назначения сегментирования.

    8. Нажмите кнопку ОК, чтобы закрыть редактор.

  10. Выберите адаптер назначения сегментирования базы данных, после чего откройте вкладку Свойства в SQL Server Data Tools. В области настраиваемых свойств обратите особое внимание на свойство FaultToleranceRetryStrategy. Назначение сегментирования имеет встроенную временную обработку ошибок. С помощью имеющихся здесь свойств можно изменить стратегию повторных попыток, их количество, а также интервалы повтора. Так как все эти свойства являются настраиваемыми, они могут быть параметризованы для изменения во время выполнения.

Теперь пакет готов к выполнению или развертыванию. В случае добавления или удаления сегментов, либо изменения сегментов между выполнением, новая конфигурация будет считываться при следующем выполнении пакета. Данные будут направляться в базы данных и таблицы при их наличии в каталоге в начале выполнения.

Помимо назначения сегментирования базы данных, с помощью компонентов можно отправлять данные в хранилище больших двоичных объектов Windows Azure или получать данные из этого хранилища. Это компоненты исходного и конечного хранилищ больших двоичных объектов.

Ввод данных в адаптер назначения больших двоичных объектов заключается в указании учетной записи хранения Windows Azure и ключа, конечного размера фрагментов несжатых данных, а также базового имени файла, которое будет назначаться сохраняемым файлам. В списке Контейнеры выберите конечный контейнер. Список Имеющиеся большие двоичные объекты содержит перечень файлов, которые уже были сохранены в выбранном контейнере, что помогает избежать конфликтов имен. После ввода данных редактор будет выглядеть примерно так, как на рис. 6.

Рис. 6

Рис. 6. Пример назначения больших двоичных объектов в Windows Azure для SSIS.

При выполнении пакета SSIS место назначения больших двоичных объектов разделяет данные и создает файлы GNU zip (gzip) в указанном контейнере больших двоичных объектов. Оно также создает очередь в учетной записи хранения с именем, совпадающим с указанным именем файла. Место назначения больших двоичных объектов помещает имя каждого созданного файла в эту очередь, когда требуется дальнейшая обработка сжатых файлов. Для просмотра очереди и ее содержимого, а также для очистки очереди в случае необходимости повторной операции, следует использовать такой инструмент как Neudesic Azure Storage Explorer.

Компонент-источник больших двоичных объектов играет роль источника файлов данных, созданных компонентом назначения больших двоичных объектов. Для использования компонента-источника больших двоичных объектов заполните сведения в полях Имя учетной записи хранения и Ключ учетной записи хранения. После этого будет автоматически заполнен список контейнеров. Выберите контейнер, после чего укажите, требуется ли получение данных из очереди. (Рекомендуется использовать этот вариант во всех случаях. Это совершенно необходимо, если для одного и того же набора файлов данных будет выполняться больше одного экземпляра пакета.) Пример см. на рис. 7.

Рис. 7

Рис. 7.

Так как место назначения хранилища больших двоичных объектов просто сохраняет сжатые файлы с разделителями в хранилище больших двоичных объектов, HDInsight может напрямую использовать создаваемые файлы. Строки разделены тегами разделителя строк, а столбцы разделены тегами разделителя столбцов. Заголовки столбцов сохраняются в файле заголовков столбцов, который загружается в контейнер, где сохраняются файлы.

Была ли вам полезна эта информация?
(1500 символов осталось)
Спасибо за ваш отзыв
Показ:
© 2014 Microsoft