开发者社区 > 大数据与机器学习 > 大数据开发治理DataWorks > 正文

在mc上建holo的外表。 其中有个字段名叫to. 外表建好后查询报错FAILED: ERRO

在mc上建holo的外表。 其中有个字段名叫to. 外表建好后查询报错FAILED: ERROR: syntax error at or near "to" ,像字段名和关键字一样的情况怎么写sql

展开
收起
游客3oewgrzrf6o5c 2022-08-05 14:28:24 343 0
1 条回答
写回答
取消 提交回答
  • nnn

    这个错误是由于你在建立外表时使用的字段名称与Flink中的表名称冲突导致的。具体来说,这个错误是由于你在建立外表时使用的字段名称与Flink中的表名称冲突导致的。 为了解决这个问题,你可以将外表的字段名称与Flink中的表名称保持一致,例如将字段名称设置为to。 另外,你可以使用以下命令来查询数据表中的数据:

    sql Copy code -- 连接到数据库 import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject.JSONString;

    public class HoloData {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/mydb";
        String user = "root";
        String password = "password";
        String tableName = "holo";
    
        // 创建连接
        try {
            Connection connection = DriverManager.getConnection(url, user, password);
            // 获取数据库表中的数据
            JSONObject result = new JSONObject().parse(connection.getMetaData().getString("databaseProductVersion"));
            String name = result.getString("name");
            if (name.equals(tableName)) {
                // 获取表中的数据
                JSONObject data = new JSONObject(result.getString("tables")).getJSONObject(tableName);
                for (Object obj : data.values()) {
                    JSONObject row = (JSONObject) obj;
                    // 处理数据
                    String id = row.getString("id");
                    String name = row.getString("name");
                    int age = row.getInt("age");
                    System.out.println("id: " + id + ", name: " + name + ", age: " + age);
                }
            }
            connection.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    }

    2023-07-05 21:00:34
    赞同 展开评论 打赏

DataWorks基于MaxCompute/Hologres/EMR/CDP等大数据引擎,为数据仓库/数据湖/湖仓一体等解决方案提供统一的全链路大数据开发治理平台。

相关电子书

更多
PolarDB NL2SQL: 帮助您写出准确、优化的SQL 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载