Size: a a a

2020 June 03

TZ

Timur Zalimov in Moscow Spark
Мб запутанно написал ( по простому я хочу колонку типа number привести к int если там только целые числа и привести в double если там дробные чисала
источник

Sa

Salam andra in Moscow Spark
источник

Sa

Salam andra in Moscow Spark
А затем зарегистрировать диалект JdbcDialects.registerDialect(...)
источник

Sa

Salam andra in Moscow Spark
В недрах спарка уже зарегистрированы несколько диалектов, можно по ним полазить, может и нужный найдётся
источник

TZ

Timur Zalimov in Moscow Spark
О_о спасибо )
источник

N

Nikolay in Moscow Spark
Timur Zalimov
Мб запутанно написал ( по простому я хочу колонку типа number привести к int если там только целые числа и привести в double если там дробные чисала
честно говоря я не понял. во вьюшке all_tab_columns( а не в all_columns_tab) указан тип может быть NUMBER, а в таблице по факту значения быть могут только INTEGER, но это не определить по словарю. это можно определить только проверив все значения.может быть про это вопрос
источник

TZ

Timur Zalimov in Moscow Spark
Именно так
источник

N

Nikolay in Moscow Spark
а если просто написать CAST(field as INTEGER) в запросе? или это не помогает?
источник

TZ

Timur Zalimov in Moscow Spark
Я сделал костыль который ищет первое вхождение запятой в столбце и если оно не ровно 0 то это double если 0 то int, но вот беда на 200 стобцах и большом объёме данных это работает 5-6  часов
источник

TZ

Timur Zalimov in Moscow Spark
Nikolay
а если просто написать CAST(field as INTEGER) в запросе? или это не помогает?
А как ты поймёшь что это int ? Глазами только
источник

TZ

Timur Zalimov in Moscow Spark
А мне нужно как то это автоматизировать ...
источник

N

Nikolay in Moscow Spark
глазами или вытащив весь датасет и определив тип, как это например делает при начитываении типа из csv.
источник

M

Mi in Moscow Spark
Timur Zalimov
А мне нужно как то это автоматизировать ...
а почему бы не делать тогда просто double или оставить decimal? В чем проблема с ним работать как с целым если можно
источник

M

Mi in Moscow Spark
просто менять схему на лету исходя из самих данных иногда так иногда что-то очень странное для меня
источник

M

Mi in Moscow Spark
можно сделать два филда double и integer, где нельзя сделать integer будет null
источник

TZ

Timur Zalimov in Moscow Spark
Mi
а почему бы не делать тогда просто double или оставить decimal? В чем проблема с ним работать как с целым если можно
Просто после забора данных мне нужно сделать join и decimal с int плохо джойниться
источник

TZ

Timur Zalimov in Moscow Spark
Просто во 2ой табличке для джойна  Id изначально идёт  int
источник

M

Mi in Moscow Spark
Тогда вариант с двумя филдами разных типов вполне рабочий
источник

TZ

Timur Zalimov in Moscow Spark
Поэтому и пробую на лету научиться мапить number в его истинный тип int/double
источник

TZ

Timur Zalimov in Moscow Spark
Ну вот 2 поля выглядит интересным
источник