一、Waterdrop工具
Waterdrop是一个基于Apache Spark的简单易用的ETL工具,可帮助开发人员快速实现数据清洗、转换和加载任务。它支持多种数据源,并提供了易于使用的Web UI来监控作业状态和性能指标。
Waterdrop的主要特点包括:
1、针对数据处理提供即插即用的解决方案,降低开发成本;
2、多数据源支持,作业适用范围广泛;
3、模块化和易扩展的设计,可方便地定制和增强系统功能;
4、易于使用的Web UI,提供了详细的作业监控和性能指标信息;
5、免费使用,无需任何授权和费用。
二、Waterdrop安装教程
Waterdrop的安装非常简单,只需按照以下步骤操作:
1、通过以下命令下载Waterdrop二进制文件:
wget https://github.com/InterestingLab/waterdrop/releases/download/v1.3.3/waterdrop-1.3.3.tar.gz
2、解压缩并进入Waterdrop目录:
tar xzvf waterdrop-1.3.3.tar.gz cd waterdrop-1.3.3
3、修改配置文件conf/application.conf,填写正确的数据源和目标信息:
spark {
app {
name = "waterdrop"
master = "yarn"
}
streaming {
batch_duration = 1s
}
driver.memory = 2g
executor.memory = 2g
}
source {
kinesis {
access-key-id = ""
secret-access-key = ""
region-name = ""
stream-name = ""
endpoint-url = ""
initial-position-in-stream = "LATEST"
}
}
sink {
hdfs {
path = ""
file-type = "TEXT"
partition-fields = "dt,hour"
partition-format = "yyyyMMdd,HH"
timezone = "Asia/Shanghai"
write-buffer-size = 64m
max-file-size = 1G
}
}
4、启动Waterdrop作业:
./bin/waterdrop.sh --config conf/application.conf
三、Waterdrop翻译
Waterdrop提供了与多种数据源的集成,包括Kafka、Kinesis、HDFS和JDBC等,因此在ETL过程中可能涉及到一些数据格式和字段名的翻译问题。
例如,如果要将从Kafka读取的数据转换为HDFS格式并存储,需要进行一些字段映射和数据类型转换操作:
source {
kafka {
bootstrap.servers = ""
topics = ["test"]
group.id = ""
auto.offset.reset = "latest"
# kafka数据的序列化与反序列化类
key-deserializer = "org.apache.kafka.common.serialization.StringDeserializer"
value-deserializer = "org.apache.kafka.common.serialization.StringDeserializer"
}
}
filter {
#通过filter配置进行字段映射和数据类型转换
field-mapping {
before = ["name", "age", "gender"]
after = ["new_name", "new_age", "new_gender"]
}
#转换数据类型
type-converter {
fields = ["new_age"]
to-type = "int"
}
}
sink {
hdfs {
path = ""
file-type = "TEXT"
#按照日期和小时分区
partition-fields = ["dt", "hour"]
partition-format = "yyyyMMdd,HH"
timezone = "Asia/Shanghai"
write-buffer-size = "64m"
}
}
四、Waterdrop如何查看JDK路径
在运行Waterdrop之前,需要先安装和配置Java环境,并设置正确的JDK路径。如果不确定JDK路径,可以通过以下命令查看:
/usr/libexec/java_home -V
输出的结果类似于:
Matching Java Virtual Machines (3):
11.0.2, x86_64: "Java SE 11.0.2" /Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
1.8.0_211, x86_64: "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home
1.7.0_80, x86_64: "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home
可以看到当前机器上安装了多个JDK版本,其中以/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home为JDK路径。
五、Waterdrop Hive Neo4j
Waterdrop还可以与多个数据存储进行集成,例如Hive和Neo4j等。以下是一个Hive数据源和Neo4j目标的例子:
source {
hive {
database = "test"
table = "test_table"
thrift-uri = "thrift://hive_server_host:9083"
}
}
transform {
# 处理逻辑
}
sink {
neo4j {
uri = "bolt://neo4j_host:7687"
username = "neo4j"
password = "password"
node-type = "person"
relationship-type = "knows"
node-properties = ["name", "age"]
relationship-properties = ["distance"]
commit-batch-size = 10000
}
}
六、三体视频Waterdrop
水滴计划(Waterdrop Plan)是华为公司推出的一个人才培养计划,目的是为自己和行业培养高素质的人才。三体视频Waterdrop是水滴计划的正式官方账号,提供了大量的培训和学习资源。
七、美国Waterdrop净水壶
Waterdrop是一家专注于净水技术的公司,旗下包括多款净水产品。美国Waterdrop净水壶是其中一款比较畅销的产品,采用多种净水技术,可以有效地去除水中的杂质、氯、异味和细菌等。
八、沪教版牛津英语Waterdrop
沪教版牛津英语是中国著名的英语教材,旨在培养学生适应复杂多变的现代社会,拥有全球视野和重要的语言和思维能力。Waterdrop是沪教版牛津英语中的一个主题(Theme),主要涉及自然科学、环境保护和人类生活等方面。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/151547.html
微信扫一扫
支付宝扫一扫