Doris2.17 执行SQL报Column Nullable(UInt32) is not a contiguous block of memory错误

Viewed 61

Doris版本:2.1.7

报错信息

image.png

执行SQL

INSERT INTO dwd_uc_device_log
SELECT *
FROM (WITH cte1 AS (SELECT split_part(log_time, ' ', 1)             AS log_date,
                           log_time,
                           dnum,
                           java_udf_type2manufacturer(device_type)  AS manufacturer,
                           brand,
                           device_type,
                           os_version,
                           java_udf_type2jixin(device_type)         AS jixin,
                           chip_type,
                           did,
                           sn,
                           fingerprint,
                           mac,
                           ip,
                           activate_date,
                           activate_date_ft,
                           activate_time,
                           ROW_NUMBER()                                OVER (PARTITION BY dnum ORDER BY log_time DESC) AS row_num, split_part(java_udf_ip2addr(ip), ';', 1) AS isp,
                           split_part(java_udf_ip2addr(ip), ';', 2) AS province,
                           split_part(java_udf_ip2addr(ip), ';', 3) AS city
                    FROM ods_uc_device_log
                    WHERE log_time >= '2024-12-08 00:00:00'
                      and log_time < '2024-12-09 00:00:00'),
           cte2 AS (SELECT brand,
                           type,
                           region,
                           os,
                           appstore
                    FROM dim_client_type_info)
      SELECT log_date,
             dnum,
             log_time,
             manufacturer,
             COALESCE(cte2.brand, '未知')          AS brand,
             device_type,
             os_version,
             COALESCE(cte2.appstore, 0)            AS appstore,
             COALESCE(cte2.os, '未知')             AS os,
             COALESCE(cte2.region, '')             AS region,
             jixin,
             chip_type,
             did,
             sn,
             fingerprint,
             mac,
             ip,
             isp,
             province,
             city,
             java_udf_country2code(province, city) AS country_code,
             activate_date,
             activate_date_ft,
             activate_time
      FROM cte1
               JOIN cte2
                    ON cte1.device_type = cte2.type
      WHERE cte1.row_num = 1) dwd;

1 Answers