powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Подключение csv. Децимальный разделитель и ограничение строк ""
6 сообщений из 6, страница 1 из 1
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39901062
SpellBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ковыряю Hadoop Cloudera, уперся в 2 проблемки.
1. Исходный csv, содержит цифра с разделителем запятая, не пойму что передать в
create tables
...
TBLPROPERTIES( ???
чтобы нормально воспринимал.
2. В файле csv есть поля где строк ограничены двойными "", не все, но есть.
TBLPROPERTIES( прописал 'quoteChar'='"'
не помогает, в значения полей тащатся "....."
...
Рейтинг: 0 / 0
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39901190
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1.
CREATE EXTERNAL TABLE tab1(col1 STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY';'
stored as textfile
LOCATION '/user/..';

2. там тогда сериализатор надо задавать
https://stackoverflow.com/questions/14061466/how-to-handle-fields-enclosed-within-quotescsv-in-importing-data-from-s3-into
...
Рейтинг: 0 / 0
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39901244
SpellBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
H5N1,

Не понимаю, как разделитель полей FORMAT DELIMITED FIELDS TERMINATED BY';'
Повлияет на децимальный сепаратор.

Давайте примером, текст csv

ARTICLE;NAME;SUMM
4345235;"Наименование 1";4343,45
22dfdf343;"Наименование 2";76765
22крк23;"Наименование 3";76732,32

Create external table my.table_csv (
ARTICLE STRING,
NAME STRING,
SUMM DECIMAL(38,2)
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY';'
WITH SERDEPROPERTIES ('quoteChar'='"')
STORED AS TEXTFILE
LOCATION 'hdfs://.....
TBLPROPERTIES ('COLUMN_STATS_ACCURATE'='false', 'numFiles'='0', 'numRows'='-1', 'rawDataSize'='-1', 'skip.header.line.count'='1','totalSize'='0');

Вместо чисел 1 и 3 строки будет NULL.
Наименования в столбце 2 содержат лишние кавычки.
...
Рейтинг: 0 / 0
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39901313
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpellBuilder

Вместо чисел 1 и 3 строки будет NULL.

да, потому что в файле строка с запятой, а не децимал. можно ли задать децимал разделитель не знаю
SpellBuilder

Наименования в столбце 2 содержат лишние кавычки.

да, потому что сериализатор не задан. я же дал ссылочку, там видимо что-то типа
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
надо подсовывать.
...
Рейтинг: 0 / 0
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39901327
H5N1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня вот так сработало, и последнюю колонку хайв всю почему то отобразил

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
create external table tab1 (
ARTICLE STRING,
NAME STRING,
SUMM DECIMAL(38,2)
)
    COMMENT 'row data csv'    
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   "separatorChar" = "\;",
   "quoteChar"     = "\""
)
STORED AS TEXTFILE
LOCATION '/user/...';
...
Рейтинг: 0 / 0
Подключение csv. Децимальный разделитель и ограничение строк ""
    #39905991
SpellBuilder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помучался так "красоты" и не добился, потом коллеги помогли дали пример на python (pandas), я на его базе допилил конвертацию своего csv в parquet, заодно с сжатием.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Подключение csv. Децимальный разделитель и ограничение строк ""
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]