2016-12-27 3 views
1

Я новичок в SAP HANA и недавно перешел на некоторые из наших баз данных и нашел, что он очень хорош в производительности.Загрузить массив в HANA

Проблема, с которой я столкнулся, заключается в том, что я не могу загрузить array column в HANA. Но я обнаружил, что есть способ, чтобы вставить ARRAY в HANA с помощью метода

INSERT INTO T1 VALUES (1, ARRAY (1, 2, 3, 4)) 

Поскольку у меня есть .CSV файла, в котором первые два столбца являются целыми числами, а третий один является BIGINT массива из postgres и это выглядит например:

input.csv 
1,2,"{1545645,2652656,3545645}" 
3,4,"{155535,244564654,346456456,448484,5456456465,664654564}" 
9,12,"{14645646,24564564,3478484,447984894,5464646,644458648,745464,849494,9494848}" 

Как можно загрузить колонку массива в HANA (SPS 12)? Любая помощь приветствуется.

ответ

1

Это обсуждалось здесь на SO раньше. Использование функции ARRAY() является только способ вставки массива в столбец с массивом.

Если вы хотите загрузить данные массива из файла, вам придется использовать пользовательскую программу загрузки, которая строит вызов функции ARRAY (....) для каждой записи.

В зависимости от вашего варианта использования вы можете пересмотреть использование других параметров хранения данных.

+1

Что вы подразумеваете под пользовательской программой загрузки? Можете ли вы просто объяснить, как загрузить input.csv, чтобы я смог понять концепцию (поскольку у моего массива нет фиксированного размера) – RKR

+0

Это означает, что вам нужно напишите программу, скажем в JAVA, которая читает ваш CSV-файл и генерирует инструкции SQL INSERT из записей, которые он находит в файле. SAP HANA в настоящее время не поддерживает импорт/экспорт массива с помощью встроенных методов. –

+0

Итак, я имею в виду, если у меня есть 1 миллион записей, тогда мне нужно создать 1 миллион операторов Insert. Не использую ли какие-либо петли в SQL? – RKR

Смежные вопросы