倾听技术的美 2022-10-15 14:43 采纳率: 0%
浏览 91
已结题

kudu每秒钟只能写入1000条数据

目前有6台机器,每台机器配置40核 160G内存 9T固态硬盘,然后使用CDH6.3.1部署了kudu1.10.0集群,其中一台为master,6台也同时作为Tablet Server。
然后做了如下优化:
memory_limit_hard_bytes 40G
block_cache_capacity_mb 10G
maintenance_manager_num_threads 8
然后创建了一张test表,四个字段(bigint,decimal,string,string),哈希分区成4个分区。
然后程序如下,往这张表插入1000条数据耗时1秒(有时候需要2-3秒),这也太慢了?各位看看如何优化,或者问题出在哪里?不甚感激!
public class KuduUtils {
public static KuduClient getKuduClient() {
return new KuduClient.KuduClientBuilder(AppParams.kudu_url()).defaultSocketReadTimeoutMs(600000).build();
}

public static void main(String[] args) throws Exception {
    KuduClient kuduClient = new KuduClient.KuduClientBuilder("bigdata-0:7051").build();
    int bufferSpace = 10000;
    KuduTable kuduTable = kuduClient.openTable("impala::test.test");
    KuduSession kuduSession = kuduClient.newSession();
    kuduSession.setFlushMode(SessionConfiguration.FlushMode.MANUAL_FLUSH);
    kuduSession.setMutationBufferSpace(bufferSpace);

    long l = System.currentTimeMillis();
    long count = 0;
    //准备数据
    for (int i = 1; i <= 1000; i++) {
        Upsert insert = kuduTable.newUpsert();
        PartialRow insertRow = insert.getRow();
        //设置字段的内容
        insertRow.addLong("id", i);
        insertRow.addDecimal("ff", BigDecimal.valueOf(i));
        insertRow.addString("aa", "gfsdfdseeedddddddgfdgfsdfdseeedddddddgfdgfsdfdseeedddddddgfdgfsdfdsee");
        insertRow.addString("cc", "gfsdfdseeedddddddgfdgfsdfdseeedddddddgfdgfsdfdseeedddddddgfdgfsdfdsee");
        kuduSession.apply(insert);
        count++;
        if (count > bufferSpace / 2) {
            count = 0;
            kuduSession.flush();
        }
    }

    kuduSession.close();
    kuduClient.close();
    System.out.println(System.currentTimeMillis() - l);
}

}

  • 写回答

2条回答 默认 最新

  • 倾听技术的美 2022-10-15 18:17
    关注

    create table test.test(id bigint,ff decimal(38,18),aa string,cc string,primary key(id)) partition by hash partitions 4 stored as kudu

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月22日
  • 创建了问题 10月15日

悬赏问题

  • ¥15 使用dify通过OpenAI 的API keys添加OpenAI模型时报了“Connection Error”错误
  • ¥15 请帮我看一下问题出在哪里
  • ¥15 如何解决图中的问题,localhost现实无法访问此页面
  • ¥40 想找个软件,但我不知道怎么找到它,我甚至不知道有没有
  • ¥15 怎么把60秒的视频时长改成显示0秒?且视频内容没有任何变化的正常播放?目的是为了解决一些平台对视频时长的要求,最好有自动处理的工具!
  • ¥15 累加器设初值为00H
  • ¥15 webAPI接口返回值判断
  • ¥15 自动化测试 UI Automtion
  • ¥20 关于#深度学习#的问题:2708)输出:邻接矩阵A 或者 节点索引方式:通过随机游走或者其他方式,保持节点连接类似下图(语言-python)
  • ¥15 win11 24h2 专业工作站版 右键打印怎样删除