常见维度设计 在设计大维表时,应该遵循数据仓库设计的一些基本原则,如遵循维度建模,使用正确的数据类型和数据结构(Int, Long, Varchar),设计合适的索引,进行性能优化等。此外,技术层面的处理方式主要包括:关联字段建立索引,建分区,表压缩,列存储等,以优化大维表的存储和查询性能。与其为每个标识或属性定义不同的维度,不如建立单独的将不同维度合并到一起的杂项维度。桥接表的方式适用于多值能够在逻辑(或事实)上隶属于一个组(值)的场景,新增列的方式则适用于值数固定的场景,各有优劣,设计时按需选用。
Flink DataStream API编程 消费Kafkaimport org.apache.flink.api.common.eventtime.WatermarkStrategy;import org.apache.flink.api.common.serialization.SimpleStringSchema;import org.apache.flink.connector.kafka.source.KafkaSource;import org.apache.flink.connector.kafka.source.enumer
PySpark coding 记录一些pyspark的简单程序......WordCount读取hdfs文件,wc:from pyspark import SparkContext, SparkConf"""Pyspark Word Count Demo"""def sorted_all_result(wc_rdd): """ WordCount取全量,collect()之后排序 :param wc_rdd: RDD :return: """ word_list
一些算法编程题 记录一些刷过的题目。。。反转链表public class ReverseListDemo { public static void main(String[] args) { ListNode node1 = new ListNode(1, null); ListNode node2 = new ListNode(2, node1); ListNode node3 = new ListNode(3, node2); Solu
Hadoop命令行指南 1. 综述Hadoop及其子模块的命令都遵循着相同的基本结构:用法:shellcommand [SHELL_OPTIONS] [COMMAND] [GENERIC_OPTIONS] [COMMAND_OPTIONS]字段 描述 shellcommand 被调用的模块的命令。比如:调用Hadoop common模块下的命令用hadoop,HDFS用hdfs,YARN用yarn。 SHELL_OPTIONS shell在执行Java程序之前需处理的选
Spark SQL操作Hive表 Spark SQL支持从Hive存储中读写数据。然而,Hive存在很多的依赖,而这些依赖又不包含在默认的各类Spark发型版本中。如果将Hive的依赖放入classpath中,Spark将自动加载它们。值得注意的是,这些依赖必须在所有节点中都存在。因为他们需要通过Hive的序列化和反序列化库(SerDes)来访问存储在Hive中的数据。在Spark中配置Hive,需要将hive-site.xml, core-site.xml, hdfs-site.xml放置到Spark的conf/目录下。需要操作H
使用Flink读取HBase数据 2021-05-27 23:24:12.296 ERROR 11668 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchFi.
Flink下沉数据到Redis的两种方式 这里使用Flink的DataStream API,数据源则是通过消费Kafka的主题。因此,maven工程中的依赖必须包括:<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>${flink.version}</version&g...
Spark读写Hive 1. 读配置文件的方式根据官网相关章节的说明,为了使spark能够获取到hive, hadoop的相关配置,可将hive-site.xml, core-site.xml, hdfs-site.xml这三个配置文件放到集群的${SPARK_HOME}/conf之下,而我们在项目开发时,maven项目中,则需放到resources目录之下,方便SparkConf实例化对象取到值。由于spark是通过thrift协议连接到hive的metastore服务,因此,在hive-site.xml中应加入如下配置:
Java NIO FileChannel读取文件public class Main { public static void main(String[] args) throws Exception { // 获取文件,"r"为只读模式 RandomAccessFile file = new RandomAccessFile("D:/data/data.txt", "r"); // 获取文件通道 FileChannel channel = fi
commons-cli的简单使用 首先需要说明,在1.3版本之前,主要使用的是BasicParser类,根据源码文档说明,它只是对抽象类Parser的简单实现,功能有限。自1.3版本之后,我们改用DefaultParser类。就使用者在编码方面而言,基本没有区别,下面进行演示:首先在pom.xml中引入依赖:<dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</arti.
Maven項目添加本地jar包 在pom.xml文件中添加: <dependency> <groupId>com.baich</groupId> <artifactId>demo</artifactId> <systemPath>${project.basedir}/src/main/resources/lib/demo-1.0-SNAPSHOT.jar</systemP
Spring Boot项目引入hive 项目正好在做,刚好完成这个小功能,所以记录下:材料准备:Spring Boot项目 hadoop集群(伪分布式都可以) hive步骤:在Spring Boot项目 pom中引入所需依赖: <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-jdbc</artifactId>
IDEA运行Flink程序找不到ExecutorFactory 报错信息:Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application.原因:根据发布记录的描述,flink 1.11.0之后,flink-streaming-java模块不再依赖flink-clients,因此在Idea中运行flink程序时,应显式添加flink-clients模块依赖包。处理办法:pom.xml文件中引