Outis: 在Hadoop集群中实现数据匿名存储的工具

下载需积分: 5 | ZIP格式 | 37KB | 更新于2025-01-10 | 92 浏览量 | 0 下载量 举报
收藏
outis项目基于Scala语言开发,并使用Gradle作为构建工具。项目架构被分为两个主要模块:outis-core和outis-link。 outis-core是核心模块,负责实施数据匿名化的逻辑。目前支持的文件格式包括Hive表、HDFS上的实木复合地板文件以及纯文本文件。在处理数据匿名化时,outis提供多种方法,根据数据类型的不同,用户可以选择适合的匿名化方法。支持的匿名化策略包括: - 抑制(Suppression):将选定的数据列内容设置为“无”,即数据被隐藏。 - setTo:对字符串的每个字符进行替换。 - setToBlank:将字符串中的所有字符替换为空格。 - setToX:将字符串中的所有字符替换为“X”。 - 截断(Truncation):将字符串缩短至指定长度的字符数。 - 替代(Substitution):将数字替换为随机数字,字母替换为随机字母。 为了构建outis项目,开发者需要安装Gradle版本3或更高版本。构建过程中,需要执行特定的Gradle任务(gradle shadowJar),来生成包含所有依赖的可执行jar文件(即shadow jar)。这使得项目可以作为一个自包含的分发单元,便于部署和执行。 另外,项目中的outis-link模块并未在描述中详细展开,但根据项目结构分析,该模块可能负责将outis-core模块与其他系统或服务进行集成,例如将匿名化后的数据与外部系统进行链接或交换。 考虑到该文件的文件名称为“outis-master”,可以推断出这可能是outis项目的主要代码仓库或核心分支,其中包含了项目的源代码、资源文件和构建脚本等。" 知识点涵盖如下: 1. Hadoop集群与数据存储:介绍了Hadoop集群的基本概念,包括Hive和HDFS的数据存储模型。 2. 数据匿名化(Data Anonymization):解释了数据匿名化的重要性和实现过程。 3. Scala编程语言:阐述了Scala在outis项目中的应用,展示了Scala在处理复杂数据处理任务中的优势。 4. Gradle构建工具:解释了Gradle的基本概念以及在outis项目中的使用方法,包括如何使用shadow jar插件生成自包含的jar文件。 5. 文件格式支持:详细介绍了outis-core模块支持的文件格式以及处理这些格式的能力。 6. 匿名化方法:详细说明了outis提供的匿名化方法和策略,以及这些方法对不同数据类型的适用性。 7. 项目结构与模块化:分析了outis项目的整体架构和模块划分,特别是outis-core和outis-link模块的功能和作用。 8. 项目构建与部署:讲解了如何通过Gradle构建outis项目,并说明了生成shadow jar的过程和目的。

相关推荐

filetype

at org.apache.hadoop.ipc.Client.call(Client.java:1476) at org.apache.hadoop.ipc.Client.call(Client.java:1413) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229) at com.sun.proxy.$Proxy29.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.mkdirs(ClientNamenodeProtocolTranslatorPB.java:563) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102) at com.sun.proxy.$Proxy30.mkdirs(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.primitiveMkdir(DFSClient.java:3014) at org.apache.hadoop.hdfs.DFSClient.mkdirs(DFSClient.java:2984) at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1047) at org.apache.hadoop.hdfs.DistributedFileSystem$21.doCall(DistributedFileSystem.java:1043) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirsInternal(DistributedFileSystem.java:1043) at org.apache.hadoop.hdfs.DistributedFileSystem.mkdirs(DistributedFileSystem.java:1036) at org.apache.hadoop.hive.ql.session.SessionState.createPath(SessionState.java:751) at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:674) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:586)

198 浏览量
filetype

[root@zhaosai ~]# hive Logging initialized using configuration in jar:file:/opt/programs/apache-hive-1.2.2-bin/lib/hive-common-1.2.2.jar!/hive-log4j.properties Exception in thread "main" java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:677) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:621) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.hadoop.util.RunJar.run(RunJar.java:221) at org.apache.hadoop.util.RunJar.main(RunJar.java:136) Caused by: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1523) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.<init>(RetryingMetaStoreClient.java:86) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:132) at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.getProxy(RetryingMetaStoreClient.java:104) at org.apache.hadoop.hive.ql.metadata.Hive.createMetaStoreClient(Hive.java:3005) at org.apache.hadoop.hive.ql.metadata.Hive.getMSC(Hive.java:3024) at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:503) ... 8 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1521) ... 14 more Caused by: javax.jdo.JDOFatalInternalException: Error creating transactional connection factory NestedThrowables:

272 浏览量
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部