一、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
 
 微信扫一扫
微信扫一扫  支付宝扫一扫
支付宝扫一扫 