java将csv导入hdfs_把HDFS里的json数据转换成csv格式
1. 全景图
.
2. 用ListHDFS获取所有文件名
如果想重新再取一次,右健view state:
点击 clear state, 再运行,即可再次采集数据了。
3. 用FetchHDFS 取出json 数据
4. 用ExecuteScript 转换
import org.apache.commons.io.IOUtils
import java.nio.charset.*
import java.text.SimpleDateFormat
import groovy.json.*
def flowFile = session.get()
flowFile = session.write(flowFile, {inputStream, outputStream ->
def js = IOUtils.toString(inputStream, StandardCharsets.UTF_8)
def data = new JsonSlurper().parseText( js )
def columns = data.data*.keySet().flatten().unique()
// Wrap strings in double quotes, and remove nulls
def encode = { e -> e == null ? '' : e instanceof String ? /"$e"/ : "$e" }
// Print all the column names
def columnName = columns.collect { c -> encode( c ) }.join( ',' )
// Then create all the rows
def columnData = data.data.collect { row ->
// A row at a time
columns.collect { colName -> encode( row[ colName ] ) }.join( ',' )
}.join( '\n' )
StringBuilder cd = new StringBuilder()
cd.append(columnName + "\n")
cd.append(columnData)
outputStream.write(cd.toString().getBytes(StandardCharsets.UTF_8))
}as StreamCallback)
session.transfer(flowFile, REL_SUCCESS)
5. 用PutHDFS 插入
问题:
最近加了cluster,发现listhdfs不能取到数据了:
查看日志:
发现日志里提到了zookeeper导致connection refused
nifi设置成cluster必须走zookeeper来调度资源,所以必须要连上我们的zookeeper server,有一个配置要加
conf/state-management.xml里面有个配置
zk-provider
org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider
wdp.xxx.cn:2181
/nifi
30 seconds
CreatorOnly
nifi
nifi
NIFI 中国社区 QQ群:595034369
java将csv导入hdfs_把HDFS里的json数据转换成csv格式相关推荐
- word列表数据计算机,怎么把树状图的数据填成excel表格-谁会计算机啊,怎么把word里的表格数据转换成簇状......
excel中生成后的数据透视表如何把树形结构每层的空... 打开Word文档窗口,切换到"插入"功能区.在"插图"分组中单击"图表"按钮. ...
- 将JSON数据转换成JAVA的实体类
思路:首先将JSON格式的数据转换成JSONObject,然后将JSONObject转换成Java的实体类(其中类属性包括List等类型) Java实体类: SearchFilter 类 1 publ ...
- 如何将json类型的数据转换成csv格式
1.需转换的数据 文件名:5-1.json(随意设置) [{"job": "中级服务器开发","company": "乐海互动&q ...
- 将大量有规律txt文本数据转换成xml格式,在导入excel,生成excel文件,在导入spass中,对数据进行分析
[文本数据 2.txt]下面是其中两条 Title-题名: 供应链竞争力内涵与模型构建研究 Author-作者: 余晖;张文杰; Organ-单位: 北京交通大学经济管理学院; Source-文献来源 ...
- 多层 JSON 转换成 CSV
[问题] This is how my json looks like: {"data" :[{ "f1" : "v1","f2& ...
- java 数组用字符做下表_JAVA字符串json数组使用Formatter格式化成表格形式
需求:一个json数组,要将其解析排成表格的形式,如下: 参考这个博客:https://blog.csdn.net/weixin_33778544/article/details/91427507 但 ...
- java编写创建json,将json数据转换成xml,ftp发送到服务器
一.项目简介 1.环境 1).jdk 1.6 2.jar包 commons-net-1.4.1.jar gson-2.2.4.jar jar 建议大家去官网上下载 3.项目结构 二.创建Json 1. ...
- java 读取 image_如何在java读取sql里头读取image格式的数据转换成图片格式
一.北亚文件系统数据恢复Windows版可以恢复Windows用户在使用过程中丢失的数据(误删除文件.误格式化硬盘.U盘/手机存储卡数据丢失.误清空回收站.磁盘分区消失).软件操作简单,易用. 可恢复 ...
- Spyder里dot文件转换成图片格式及中文乱码问题
Spyder决策树程序图片运行不出来 先安装Graphviz 再到cmd中运行下图语句,路径需要改成自己的 dot -Tpng D:\course\数据挖掘\老师给的资源\熊家葆数据挖掘第四单元之二- ...
最新文章
- mysql整形溢出报错_MySQL整型数据溢出的解决方法
- 电脑键盘下划线怎么打_电脑键盘右边的数字键无法使用怎么办?
- 电影院票务管理系统数据库设计(2)
- mysql二维数据转一维存_二维数组转一维数组
- 【POJ - 2663】Tri Tiling (简单dp)
- C#拼装JSON数组简易方法
- 如何通过使用 64 位版本 Windows 查看系统注册表 WOW6432Node
- $.each()和$().each(),以及forEach()的用法
- Memory Management Concepts overview(内存管理基本概念)
- python多线程实现方法_Python3 多线程的两种实现方式
- java读取.properties文件及解决中文乱码问题
- python实现文件格式转换_python实现快速文件格式批量转换的方法
- php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
- C++之move提升copy性能
- 计算机方向关键字,从计算机的角度理解volatile关键字
- Julia : 正则表达式
- js案例练习:跟随鼠标移动的小天使
- 如何做一个简单的类似qq网页版等的聊天网页
- vue实现结算淘宝购物车效果
- python爬取凤凰新闻网_python爬取凤凰网站的新闻,及其链接地址,来源,时间和内容,用selenium自动化和requests处理数据...
热门文章
- python技术简介_Python多线程技术简介,简单,阐述,python
- Minio 报错bucket name does not follow Amazon S3 standards
- Oracle触发器5-Instead of触发器
- python一个等号和两个等号的区别_请问Python语言中is与双等号==有什么区别及作用...
- 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...
- php商品评价代码,php商品对比功能代码分享
- html项目_Python Selenium项目实战之添加发送HTML测试报告邮件!
- php 上传 excel xlsx_在PHP中创建和编辑Excel电子表格
- Mysql把查询的列作为判断条件(case函数)
- JAVA 不足N位后面补XX符号