当前位置: 首页 > news >正文

蓝色网站欣赏设计师之家数字图书馆

蓝色网站欣赏,设计师之家数字图书馆,建设厅安全员,爱吧问题描述 使用StreamLoad写入Starrocks报错#xff0c;报这个错误:Caused by: org.apache.http.ProtocolException: Content-Length header already present 代码案例 引入依赖 !-- Starrocks使用StreamLoad发送Http请求 --dependencygroupIdor…问题描述 使用StreamLoad写入Starrocks报错报这个错误:Caused by: org.apache.http.ProtocolException: Content-Length header already present 代码案例 引入依赖 !-- Starrocks使用StreamLoad发送Http请求 --dependencygroupIdorg.apache.httpcomponents/groupIdartifactIdhttpclient/artifactIdversion4.5.3/version/dependency具体demo package com.song.starrocks;import org.apache.commons.codec.binary.Base64; import org.apache.http.HttpHeaders; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.DefaultRedirectStrategy; import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClients; import org.apache.http.util.EntityUtils;import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.UUID;public class StarRocksStreamLoad {private final static String STARROCKS_HOST localhost;private final static String STARROCKS_DB starrocks_demo;private final static String STARROCKS_TABLE bitmap02;private final static String STARROCKS_USER root;private final static String STARROCKS_PASSWORD ;private final static int STARROCKS_HTTP_PORT 8038;public void sendData(String content) throws Exception {//String yyyyy id,name,age,ageto_bitmap(age);String yyyyy id,process_time,bkey,bvalue,bvalueto_bitmap(bvalue),create_time;final String loadUrl String.format(http://%s:%s/api/%s/%s/_stream_load,STARROCKS_HOST,STARROCKS_HTTP_PORT,STARROCKS_DB,STARROCKS_TABLE);final HttpClientBuilder httpClientBuilder null;int TIMEOUT 3000;try (CloseableHttpClient client httpClientBuilder.build()) {HttpPut put new HttpPut(loadUrl);RequestConfig build RequestConfig.custom().setAuthenticationEnabled(true).setCircularRedirectsAllowed(true).setRedirectsEnabled(true).setRelativeRedirectsAllowed(true).setExpectContinueEnabled(true).setConnectTimeout(30000).setConnectionRequestTimeout(TIMEOUT).setSocketTimeout(TIMEOUT).build();put.setConfig(build);StringEntity entity new StringEntity(content, UTF-8);put.setHeader(HttpHeaders.EXPECT, 100-continue);put.setHeader(HttpHeaders.AUTHORIZATION, basicAuthHeader(STARROCKS_USER, STARROCKS_PASSWORD));put.setHeader(columns, yyyyy);put.setHeader(column_separator, \t);put.setHeader(max_filter_ratio, 0.2);put.setHeader(label, UUID.randomUUID().toString());put.setEntity(entity);try (CloseableHttpResponse response client.execute(put)) {String loadResult ;if (response.getEntity() ! null) {loadResult EntityUtils.toString(response.getEntity());}final int statusCode response.getStatusLine().getStatusCode();// statusCode 200 just indicates that starrocks be service is ok, not stream load// you should see the output content to find whether stream load is successif (statusCode ! 200) {throw new IOException(String.format(Stream load failed, statusCode%s load result%s, statusCode, loadResult));}System.out.println(data {} loadResult);}}}private String basicAuthHeader(String username, String password) {final String tobeEncode username : password;byte[] encoded Base64.encodeBase64(tobeEncode.getBytes(StandardCharsets.UTF_8));return Basic new String(encoded);}} 测试类 注意:因为ExtRoaringBitmap是自己封装的所以需要换成bitmap或者RortingBitmap Testpublic void testBitMapWriteStarrocks() throws Exception {ExtRoaringBitmap extRoaringBitmap new ExtRoaringBitmap();extRoaringBitmap.set(111111);LongIterator longIterator extRoaringBitmap.longIterator();StringBuilder stringBuilder new StringBuilder();while (longIterator.hasNext()) {// 生成idLong id 100;// 获取ExtRoaringBitmap中的具体数据也就是获取long类型的offsetlong bitmapValue longIterator.next();Date date new Date();String currentDate sdf.format(date);String bitmapKey 张三 id;String oneRow id \t currentDate \t bitmapKey \t bitmapValue \t currentDate \n;stringBuilder.append(oneRow);}stringBuilder.deleteCharAt(stringBuilder.length() - 1);String loadData stringBuilder.toString();System.out.println(loadData :{} loadData);StarRocksStreamLoad starrocksStreamLoad new StarRocksStreamLoad();starrocksStreamLoad.sendData(loadData);}报错截图 分析错误原因 因为代码执行是在一个父项目中调用的子项目把写入Starrocks这块封装为一个工具类通过其他的项目来调用 如果个给Starrocks单独一个项目的话是可以正常执行的 一旦放入到整个项目中通过其他的项目来进行调用就会报错经过排查 错误的原因是因为父项目中也有用到依赖httpclient这个依赖但是版本不是4.5.3的是其他的版本 虽然我子项目中有这个httpclient4.5.3的依赖但是在项目启动的时候父项目的依赖把子项目的依赖覆盖了导致无法使用httpclient4.5.3的依赖所以项目一直报Caused by: org.apache.http.ProtocolException: Content-Length header already present。解决办法 1.在idea中安装maven的插件:Maven Helper ,通过这个可以查到里面所有的依赖; 2.在父项目中也添加这个httpclient4.5.3的依赖就可以正常写入数据了;
http://www.pierceye.com/news/954398/

相关文章:

  • 晋江做网站的公司哪家好企业网站报价
  • 百度权重查询网站旅游公司的网站怎么做
  • 品牌网站建设小蝌蚪2a西安中交建设集团网站
  • 潍坊网页网站制作优畅 wordpress
  • 搜狗收录网站网站制作费用预算表
  • dede网站安全长沙营销型
  • 那些做电影视频网站的赚钱吗邯郸网站建设方案
  • 在线做app的网站wordpress 产品分类
  • seo网站建设规划网站模板视频教程
  • 沈阳网站制作策划wordpress 文章页调用
  • 网站开发和网络工程师方法网站目录
  • 用dw做网站的好处网页美工培训中心
  • 中文域名注册 .网站网站英文地图怎么做
  • 汽车行业网站建设维护服务wordpress改投票系统
  • 网站快照长期不更新wordpress 顶部高度
  • 雨颜色网站建设电器类网站设计
  • 网站建设模块化实现企业网站建设范文
  • 网站培训班有哪些课程中国工程建设标准化协会官方网站
  • 医院网站建设 费用做商业网站
  • 网站设计考虑因素wordpress录入表单写数据库
  • 个人博客网站设计网站优化方式有哪些
  • 网站建设文化教程网站开发建设成本
  • 洛阳做网站公司汉狮价格wordpress移动端悬浮导航
  • 免费网站的代码wordpress给分类添加自定义栏目
  • 网站建设额怎么自己做网站app
  • 长沙市网站推广电话兰州的互联网公司有哪些
  • 湖南网站设计亮点昆山高端网站设计公司
  • 自己做网站教程客户管理系统免费版
  • 购买域名后怎么使用山东seo
  • 单位写材料素材网站孝感建设局网站