У меня есть стол в улье
Запрос к одной и той же таблице двумя способами:
- улей или импала: я получаю такие ожидаемые результаты
0: jdbc:hive2://cdh-master3:10000/> SELECT * FROM kafka_table.risk_order_user_level_info rouli WHERE rouli.month = '2019_01' AND rouli.day = '08' androuli.order_id >0 limit 5;
INFO : OK
+-----------------+-------------------+------------+--------------+---------------+-------------------+-----------------------+---------------+---------------------+----------------------+-------------------+--------------+------------+--+
| rouli.order_id | rouli.order_type | rouli.uid | rouli.po_id | rouli.status | rouli.user_level | rouli.pre_user_level | rouli.credit | rouli.down_payment | rouli.open_order_id | rouli.createtime | rouli.month | rouli.day |
+-----------------+-------------------+------------+--------------+---------------+-------------------+-----------------------+---------------+---------------------+----------------------+-------------------+--------------+------------+--+
| 39180235 | 2 | 10526665 | -999 | 100 | 10 | 106 | 27000 | 0 | -999 | 1546887803138 | 2019_01 | 08 |
| 39180235 | 2 | 10526665 | -999 | 100 | 10 | 106 | 27000 | 0 | -999 | 1546887805302 | 2019_01 | 08 |
| 39180235 | 2 | 10526665 | -999 | 100 | 10 | 106 | 27000 | 0 | -999 | 1546887807457 | 2019_01 | 08 |
| 39180235 | 2 | 10526665 | -999 | 100 | 10 | 106 | 27000 | 0 | -999 | 1546887809610 | 2019_01 | 08 |
| 39804907 | 2 | 15022908 | -999 | 100 | -999 | -999 | 0 | 85000 | -999 | 1546887807461 | 2019_01 | 08 |
+-----------------+-------------------+------------+--------------+---------------+-------------------+-----------------------+---------------+---------------------+----------------------+-------------------+--------------+------------+--+
- но usr spark whate python или scala, я понял, несколько столбцов равны нулю
scala> spark.sql("SELECT * FROM kafka_table.risk_order_user_level_info WHERE month = '2019_01' AND day = '08' limit 5").show()
+--------+----------+--------+-----+------+----------+--------------+-------+------------+-------------+-------------+-------+---+
|order_id|order_type| uid|po_id|status|user_level|pre_user_level| credit|down_payment|open_order_id| createTime| month|day|
+--------+----------+--------+-----+------+----------+--------------+-------+------------+-------------+-------------+-------+---+
| null| null|14057428| null| 90| null| null|2705000| null| null|1546920940672|2019_01| 08|
| null| null| 5833953| null| 90| null| null|2197000| null| null|1546920941872|2019_01| 08|
| null| null|10408291| null| 100| null| null|1386000| null| null|1546920941979|2019_01| 08|
| null| null| 621761| null| 100| null| null| 100000| null| null|1546920942282|2019_01| 08|
| null| null|10408291| null| 100| null| null|1386000| null| null|1546920942480|2019_01| 08|
+--------+----------+--------+-----+------+----------+--------------+-------+------------+-------------+-------------+-------+---+
Как я могу заставить sparksql возвращать ожидаемые результаты ???
пс:
Я выполняю текущий sql в spark и hive и нахожу разные результаты;
SELECT * FROM kafka_table.risk_order_user_level_info rouli
WHERE rouli.month = '2019_01' AND rouli.day = '08'
and order_id IN (
39906526,
39870975,
39832606,
39889240,
39836630
)
два результата
это вопрос, где размещена эта страница, ударил меня;
Я также проверяю номер таблицы в таблице двумя способами, указанными выше, и количество совпадений