Procedimento armazenado VIRTUALIZECOSOBJECT

Virtualiza uma tabela a partir de um arquivo ou diretório em um Cloud Object Storage (COS) (Parquet, ORC,.csv,.tsv,.JSON).

Parâmetros de entrada

URL
O objeto ou diretório URLCloud Object Storage neste formato: s3a//<bucket_name>/<path to file or directory>.
OPÇÕESCSV
Especifica a lista separada por vírgulas de strings para opções adicionais. As seguintes opções são suportadas:
  • INCPARTS: Este tipo de opção é BOOLEANO (Verdadeiro/Falso). Especifica se as colunas de partição devem ser incluídas nos resultados. O valor padrão é false.
  • COLNAMES: Este tipo de opção é BOOLEANO (Verdadeiro/Falso). Especifica se a primeira linha deve ser interpretada como nomes de colunas. O valor padrão é false.
  • QUOTECHAR: Este tipo de opção é CHAR. Um único caractere que você usa para delimitar colunas de cadeia de caracteres. O valor não pode ser uma vírgula, tabulação, barra invertida ou espaço (em branco).
  • UCASENAMES: Este tipo de opção é BOOLEANO (Verdadeiro/Falso). Se VIRTDEF for False, essa opção especifica que nomes de colunas simples [ A-Za-z0-9_ ] devem estar em maiúsculas na tabela virtual exposta.
  • STRING_TO_VARCHAR_SIZE: Este tipo de opção é INTEGER(32672). Converta automaticamente colunas do tipo STRING para VARCHAR com o valor especificado como comprimento dos caracteres.
VIRTSCHEMA
O tipo desse parâmetro necessário é VARCHAR(128). Especifica o esquema local da tabela virtualizada.
VIRTNAME
O tipo desse parâmetro necessário é VARCHAR(128). Especifica o nome local da tabela virtualizada.
VIRTDEF
O tipo desse parâmetro opcional é VARCHAR(32672). Especifica uma definição da tabela virtualizada. Se este parâmetro estiver vazio ou for NULL, a definição da tabela virtual (os nomes e tipos das colunas) será inferida. Siga estas diretrizes para especificar a definição:
  • Certifique-se de que o valor seja uma lista de elementos sem colchetes do tipo CSV, no formato: nome da coluna + tipo Db2 da coluna, ou seja, <column_name_1> <column_type_1>[,<column_name_n> <column_type_n>]*. Para obter mais informações sobre tipos Db2 de coluna, consulte tipo primitivo.
  • O valor pode ser diferente dos nomes e tipos das colunas na fonte do arquivo.
  • O número de elementos deve ser igual ao número de colunas não particionadas ou ao número total de colunas (não particionadas e particionadas) do objeto. Não é possível especificar subconjuntos de colunas.
  • Os nomes das colunas que contêm caracteres não alfanuméricos devem ser colocados entre aspas duplas, especialmente se contiverem espaços em branco ou aspas duplas aninhadas. Além disso, as aspas duplas internas devem ser escapadas duplicando-as. Por exemplo:
    • Nome original da coluna: My "best" column1.
    • Nome da coluna envolvida (conforme especificado em VIRTDEF): "My ""best"" column1".
SUBSTITUIR
O tipo deste parâmetro obrigatório é CHAR(1). Os valores válidos são:
  • Y: Substitui o apelido, se existir.
  • NNão substitui o apelido existente.

Parâmetros de saída

DIAGS
O tipo desse parâmetro é VARCHAR(32672). Representa as mensagens de diagnóstico.

Sintaxe

Use a seguinte sintaxe e substitua os parâmetros para este procedimento armazenado:

call dvsys.virtualizeCosObject('s3a//<bucket_name>/<path to file or directory>', '<OPTIONSCSV>', '<VIRTSCHEMA>', '<VIRTNAME>', '<VIRTDEF>', '<REPLACE Y/N>', ?);

Exemplo

call dvsys.virtualizeCosObject('s3a://my-bucket/test-files/', 'COLNAMES=true', 'VIRT_SCHEMA', 'VIRT_COS_TABLE', '', 'Y', ?);