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

上海的网站设计公司价格网站建设好的公司哪家好

上海的网站设计公司价格,网站建设好的公司哪家好,wordpress rss导入,农庄网站问题原因 在JsonRead这个方法里面 在源码中使用的逻辑是读取一行 然后把这个json进行解析 但是这样存在一个问题 比如如果json的格式是这样的 { name#xff1a;“zhangsan”#xff0c; age#xff1a;25 } 如果是这样的话 第一行读到的内容就是 { 显然 一个 { 并不是一个…问题原因 在JsonRead这个方法里面 在源码中使用的逻辑是读取一行 然后把这个json进行解析 但是这样存在一个问题 比如如果json的格式是这样的 { name“zhangsan” age25 } 如果是这样的话 第一行读到的内容就是 { 显然 一个 { 并不是一个json 这样会导致解析json失败 问题解决的思路 我的方法是将整个文件中的内容全部解析 然后使用Seatunnel中自带的JackJson这个工具类进行解析 然后再获取到单个的Json对象 之后再解析成一个Json的字符串 因为解析过之后的Json字符串肯定不存在换行 所以这种换行的问题算是规避了 但是这样又引发了另一个问题就是 一下子加载全部的文件内容可能会导致内存飙升 而且解析json 构造对象这个过程也是比较耗费资源的 但是我目前没有想出来更好的方法 我目前的业务需求是 这种ftp的文件都是小文件 不存在特别大的json 所以我的这个方法是可以完成现在的需求的 修改代码的内容 要修改的代码的位置是 org/apache/seatunnel/connectors/seatunnel/file/source/reader/JsonReadStrategy.java Overridepublic void readProcess(String path,String tableId,CollectorSeaTunnelRow output,InputStream inputStream,MapString, String partitionsMap,String currentFileName)throws IOException {InputStream actualInputStream;switch (compressFormat) {case LZO:LzopCodec lzo new LzopCodec();actualInputStream lzo.createInputStream(inputStream);break;case NONE:actualInputStream inputStream;break;default:log.warn(Json file does not support this compress type: {},compressFormat.getCompressCodec());actualInputStream inputStream;break;}try (BufferedReader reader new BufferedReader(new InputStreamReader(actualInputStream, encoding))) {//TODO wxt 优先使用之前的方法try{reader.lines().forEach(line - {try {SeaTunnelRow seaTunnelRow deserializationSchema.deserialize(line.getBytes(StandardCharsets.UTF_8));if (isMergePartition) {int index seaTunnelRowType.getTotalFields();for (String value : partitionsMap.values()) {seaTunnelRow.setField(index, value);}}seaTunnelRow.setTableId(tableId);output.collect(seaTunnelRow);} catch (IOException e) {String errorMsg String.format(Deserialize this jsonFile data [%s] failed, please check the origin data,line);throw new FileConnectorException(FileConnectorErrorCode.DATA_DESERIALIZE_FAILED,errorMsg,e);}});}catch (Exception e){//region 我修改的内容//首先读取全部的内容// 将 BufferedReader 内容读取到一个 StringStringWriter stringWriter new StringWriter();String line;while ((line reader.readLine()) ! null) {stringWriter.write(line);}String jsonContent stringWriter.toString();// 判断 JSON 类型并处理ObjectMapper objectMapper new ObjectMapper();JsonNode jsonNode objectMapper.readTree(jsonContent);if (jsonNode.isArray()) {// 遍历数组并转换为单行字符串for (JsonNode node : jsonNode) {String singleLineJson objectMapper.writeValueAsString(node);// region 这一部分是我直接从上面复制下来的try {SeaTunnelRow seaTunnelRow deserializationSchema.deserialize(singleLineJson.getBytes(StandardCharsets.UTF_8));if (isMergePartition) {int index seaTunnelRowType.getTotalFields();for (String value : partitionsMap.values()) {seaTunnelRow.setField(index, value);}}seaTunnelRow.setTableId(tableId);output.collect(seaTunnelRow);} catch (IOException e1) {String errorMsg String.format(Deserialize this jsonFile data [%s] failed, please check the origin data,singleLineJson);throw new FileConnectorException(FileConnectorErrorCode.DATA_DESERIALIZE_FAILED,errorMsg,e);}// endregion}} else if (jsonNode.isObject()) {String singleLineJson objectMapper.writeValueAsString(jsonNode);// region 这一部分是我直接从上面复制下来的try {SeaTunnelRow seaTunnelRow deserializationSchema.deserialize(singleLineJson.getBytes(StandardCharsets.UTF_8));if (isMergePartition) {int index seaTunnelRowType.getTotalFields();for (String value : partitionsMap.values()) {seaTunnelRow.setField(index, value);}}seaTunnelRow.setTableId(tableId);output.collect(seaTunnelRow);} catch (IOException e1) {String errorMsg String.format(Deserialize this jsonFile data [%s] failed, please check the origin data,singleLineJson);throw new FileConnectorException(FileConnectorErrorCode.DATA_DESERIALIZE_FAILED,errorMsg,e);}// endregion}//endregion}}}
http://www.hkea.cn/news/14355511/

相关文章:

  • 建立网站域名的费用可以做ppt的网站有哪些内容
  • 太原网站建设案例wordpress 置顶 评论
  • wamp建设网站大致步骤网站开发我能做什么
  • 德阳网站设计wordpress新建留言板
  • 做网站功能双线网站选服务器
  • 南阳市建设局网站推广公司赚钱吗
  • asp网站下用php栏目深圳seo优化关键词排名
  • 怎么做一个电商网站吗附近编程培训机构
  • 供需网站开发建设网站需要备案么
  • 发布消息做任务的网站从网页上直接下载视频
  • 开网店需要自己做网站吗网页设计与制作课件张松炎
  • 公司网站建设哪儿济南兴田德润实惠吗下载类网站做多久才有流量
  • 库尔勒北京网站建设建设电商平台方案
  • 城乡与建设部网站首页网站建设专家
  • 安宁网站建设 熊掌号代运营公司
  • wordpress中怎么去掉默认页面模板中的评论框久久seo综合查询
  • 怀化网站建设设计网络营销与直播电商专业专升本
  • 如何做企业网站后台管理制作网站的公司做网站去哪里找
  • 沧州网站建设公司翼马wordpress 最强插件
  • 南雄做网站用logo做ppt模板下载网站
  • 运营公众号还是做网站郑州有哪些搞网站开发的公司
  • 淮南网站seo济宁任城区建设局网站
  • jsp做的网站怎嘛用wordpress朗读功能
  • 简述网站开发设计流程图学风建设网站版块
  • 制作空间主页网站网站建设哪里最好
  • c网站开发教程做app好还是响应式网站
  • 惠州专门做网站网站为什么要做seo
  • 河北网站设计成功柚米科技正规网站建设空间哪个好
  • 网站空间建站wordpress 默认首页
  • 国内有什么网站wordpress仿微博发文插件