1. 项目背景
目前本地有50G的企业年报csv数据, 需要清洗出通信地址,并需要与原有的亿条数据合并以供业务查询最新的企业通信地址
2. 技术选型
Hadoop + ClickHouse
3. Hadoop数据清洗
我们50G的数据无须上传至集群处理,上传目前带宽2M/S, 巨慢,我直接在本地hadoop处理
我们先看下数据格式,以@_@分割,最后一列是杂乱的数据
315@_@102878404@_@91430802MA4PPBWA9Y@_@3@_@2021-03-19 15:29:05@_@2021-03-19 15:29:04@_@-@_@2019@_@ 统一社会信用代码/注册号 91430802MA4PPBWA9Y 企业名称 张家界恒晟广告传媒有限公司 企业联系电话 15874401535 邮政编码 427000 企业经营状态 开业 从业人数 1人 电子邮箱 - 是否有网站或网店 否 企业通信地址 湖南省张家界市永定区大庸桥办事处大庸桥居委会月亮湾小区金月阁5601号 企业是否有投资信息 或购买其他公司股权 否 资产总额 企业选择不公示 所有者权益合计 企业选择不公示 销售总额 企业选择不公示 利润总额 企业选择不公示 营业总收入中主营业务收入 企业选择不公示 净利润 企业选择不公示 纳税总额
public class Company implements Tool {
private Configuration conf;
@Override
public int run ( String [ ] args) throws Exception {
Configuration conf = new Configuration ( ) ;
Job job = Job . getInstance ( conf, "company" ) ;
job. setJarByClass ( CompanyDriver . class ) ;
job. setMapperClass ( CompanyMapper . class ) ;
job. setReducerClass ( CompanyReducer . class ) ;
job. setMapOutputKeyClass ( Text . class ) ;
job. setMapOutputValueClass ( NullWritable . class ) ;
job. setOutputKeyClass ( Text . class ) ;
job. setOutputValueClass ( NullWritable . class ) ;
job. setNumReduceTasks ( 1 ) ;
FileInputFormat . addInputPath ( job, new Path ( args[ 0 ] ) ) ;
FileOutputFormat . setOutputPath ( job, new Path ( args[ 1 ] ) ) ;
return job. waitForCompletion ( true ) ? 0 : 1 ;
}
@Override
public void setConf ( Configuration conf) {
this . conf = conf;
}
@Override
public Configuration getConf ( ) {
return conf;
}
public static class CompanyMapper extends Mapper < LongWritable , Text , Text , NullWritable > {
private Text keyOut = new Text ( ) ;
private Text valueOut = new Text ( ) ;
@Override
protected void map ( LongWritable key, Text value, Context context) throws IOException , InterruptedException {
String line = value. toString ( ) ;
String [ ] words = line. split ( "@_@" ) ;
keyOut. set ( key. toString ( ) ) ;
String company_id = words[ 1 ] ;
String unified_code = words[ 2 ] ;
String year = words[ 7 ] ;
String company = StringUtils . substringBetween ( words[ 8 ] , " 统一社会信用代码/注册号 ", " 企业名称 ")
. replaceAll ( "\"" , "" ) ;
String mailAddress = StringUtils . substringBetween ( words[ 8 ] , " 企业通信地址 ", " 企业是否有投资信息")
. replaceAll ( "\"" , "" ) ;
if ( ! company. contains ( "td" ) && ! mailAddress. contains ( "td" ) ) {
valueOut. set ( key. toString ( ) + '@' + company_id + '@' + unified_code + '@' + year + '@' + company + '@' + mailAddress) ;
context. write ( valueOut, NullWritable . get ( ) ) ;
}
}
}
public static class CompanyReducer extends Reducer < Text , NullWritable , Text , NullWritable > {
@Override
protected void reduce ( Text key, Iterable < NullWritable > values, Reducer < Text , NullWritable , Text , NullWritable > . Context context) throws IOException , InterruptedException {
for ( NullWritable value : values) {
context. write ( key, NullWritable . get ( ) ) ;
}
}
}
}
public class CompanyDriver {
private static Tool tool;
public static void main ( String [ ] args) throws Exception {
Configuration conf = new Configuration ( ) ;
switch ( args[ 0 ] ) {
case "company" :
tool = new Company ( ) ;
break ;
default :
throw new RuntimeException ( " No such tool: " + args[ 0 ] ) ;
}
int run = ToolRunner . run ( conf, tool, Arrays . copyOfRange ( args, 1 , args. length) ) ;
System . exit ( run) ;
}
}
参数传递运行与先前文章一致,25.hadoop系列之Yarn Tool接口实现动态传参 不在重复,10分钟左右处理完毕,处理后约1.8G
4. ClickHouse ReplaceMergeTree实践
现在我们将处理后数据导入ClickHouse
4.1 创建表company_report及导入处理后的part-r-00000文件
CREATE TABLE etl.company_report (
id String,
company_id String,
unified_code String,
year String,
company String,
mail_address String
) ENGINE MergeTree()
PARTITION BY substring(unified_code, 2, 2) PRIMARY KEY (id) ORDER BY (id);
clickhouse-client --format_csv_delimiter="@" --input_format_with_names_use_header=0 --query="INSERT INTO etl.company_report FORMAT CSV" --host=192.168.0.222 --password=shenjian < part-r-00000
4.2 关联插入dwd_company表
在左连接的子查询中,我们取当前企业最新的年报中的通信地址,如下图所示
# 关联导入,可能DataGrip 客户端超时,就在ClickHouse - Client 命令行运行即可
INSERT INTO etl. dwd_company ( district, ent_name, reg_addr, unified_code, authority, region_code, reg_addr1, province_code, city_code, province_name, city_name, region_name, mail_address)
SELECT district, ent_name, reg_addr, unified_code, authority, region_code, reg_addr1, province_code, city_code, province_name, city_name, region_name, cr. mail_address
FROM etl. dwd_company c
LEFT JOIN (
SELECT unified_code, argMax ( mail_address, year) mail_address, argMax ( year, year) new_year FROM etl. company_report GROUP BY unified_code
) cr ON c. unified_code= cr. unified_code
WHERE cr. mail_address!= '' and cr. mail_address is not null ;
这插入速度还行吧,插入后,存在两条记录,对于ReplaceMergeTree来说,无妨,看过之前文章的你应该很熟悉为啥了吧
4.3 清洗企业通信地址
新建字段mail_address1,剔除省市区前缀信息,列式存储,全量更新很快,请不要单条那种更新
ALTER TABLE etl.dwd_company update mail_address1=replaceRegexpAll(mail_address, '^(.{2,}(省|自治区))?(.{2,}市)?(.{2,}(区|县))?', '') WHERE 1=1
4.4 手动执行分区合并
如果线上对ClickHouse服务稳定性要求极高不建议这样操作,可能影响服务,可以参考9.ClickHouse系列之数据一致性保证
optimize table etl.dwd_company final;
后面可以将dwd_company中所需字段数据导入数据中间层dwm_company,略
欢迎关注公众号算法小生与我沟通交流
你可能感兴趣的:(大数据,hadoop,大数据,分布式)
【时间序列聚类】从数据中发现隐藏的模式
T-I-M
机器学习 人工智能 时间序列
在大数据时代,时间序列数据无处不在。无论是股票市场的价格波动、天气的变化趋势,还是用户的点击行为,这些数据都随着时间推移而产生。然而,面对海量的时间序列数据,我们如何从中提取有价值的信息?答案之一就是时间序列聚类。本文将以通俗易懂的方式,带你了解时间序列聚类的基本概念、应用场景以及实现思路,并希望能为你提供一些启发。什么是时间序列聚类?简单来说,时间序列聚类是一种将相似的时间序列归为一类的技术。它
跨领域算法安全优化与可解释实践
智能计算研究中心
其他
内容概要作为系统性研究框架,《跨领域算法安全优化与可解释实践》从算法研发的全生命周期切入,重点解决多领域交叉应用中的核心矛盾。通过整合联邦学习的分布式架构与量子计算的高效特性,构建兼顾隐私保护与运算效率的算法优化范式,同时引入动态可解释性分析技术,为医疗影像诊断、金融风险预测等高敏感场景提供决策透明度保障。在技术路径层面,研究聚焦特征工程的鲁棒性设计、超参数的自适应调优策略,以及生成对抗网络在数据
智能算法安全与跨领域创新实践
智能计算研究中心
其他
内容概要在智能算法快速渗透各行业的背景下,安全治理与技术创新已成为驱动跨领域应用的核心议题。当前研究重点围绕算法可解释性增强、动态风险评估及数据安全防护展开,通过融合联邦学习的分布式协作框架、量子计算的算力突破以及注意力机制的特征聚焦能力,构建起多模态技术融合的创新路径。在应用场景层面,医疗影像诊断、金融风险预测与自动驾驶系统等关键领域已形成算法效能与安全性的双重验证体系,其中超参数优化、特征工程
A800算力部署实战策略
智能计算研究中心
其他
内容概要《A800算力部署实战策略》聚焦于高性能计算集群的全生命周期管理,系统梳理从底层硬件选型到上层软件生态协同的关键技术路径。本书以A800芯片的并行计算特性为切入点,深入探讨算力密度与能效比之间的动态平衡机制,覆盖硬件拓扑优化、分布式任务调度、跨架构编译优化等核心环节。通过模块化设计思路,将复杂的部署流程拆解为可迭代实施的标准化操作单元,为不同规模的计算场景提供灵活适配方案。建议在规划初期建
算力安全创新驱动未来趋势endofsentence
智能计算研究中心
其他
内容概要算力安全与技术创新正在重塑全球算力生态,其核心驱动力来自异构计算、边缘计算及量子计算等前沿技术的深度融合。当前算力架构正经历从集中式向分布式演进,通过异构加速芯片、动态资源调度算法及绿色能效优化,显著提升算力基础设施的可扩展性与可靠性。例如,异构计算通过CPU、GPU、FPGA的协同加速,使复杂模型训练效率提升40%以上。关键数据:根据IDC预测,到2025年全球智能算力需求将增长30倍,
什么是分布式系统?什么是微服务架构?
BELONGS TO YOU .
微服务 架构 分布式
什么是分布式系统?分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。首先需要明确的是,只有当单个节点的处理能力无法满足日益增长的计算、存储任务的时候,且硬件的提升(加内存、加磁盘、使用更好的CPU)高昂到得不偿失的时候,应用程序也不能进一步
一张表多少记录,会成为大表?如何计算
18你磊哥
mysql 数据库 mysql
首先,“大表”的定义并不是绝对的。不同的数据库系统、不同的硬件配置、不同的查询模式,对“大”的定义可能都不一样。比如,对于MySQL来说,百万级别的记录可能已经算大表,而对于一些分布式数据库,可能处理十亿级别的数据才算挑战。接下来,用户可能想知道如何判断自己的表是否过大,以及如何计算这个阈值。这时候,我需要考虑几个方面:数据量、性能指标、存储引擎的特性、索引情况、查询复杂度等。数据量方面,表的记录
使用Spring Boot集成Kafka开发:接收Kafka消息的Java应用
YazIdris
java spring boot kafka
Kafka是一个分布式的流处理平台,它具有高吞吐量、可扩展性和容错性的特点。SpringBoot提供了与Kafka集成的便捷方式,使得开发者可以轻松地创建Kafka消息接收应用。本文将介绍如何使用SpringBoot集成Kafka开发,以及如何编写Java代码来接收Kafka消息。首先,确保你已经安装了Kafka和Zookeeper,并启动了它们。接下来,创建一个新的SpringBoot项目,并添
讲一下Spark的shuffle过程
冰火同学
Spark spark 大数据 分布式
首先Spark的shuffle是Spark分布式集群计算的核心。Spark的shuffle可以从shuffle的阶段划分,shuffle数据存储,shuffle的数据拉取三个方面进行讲解。首先shuffle的阶段分为shuffle的shufflewrite阶段和shuffleread阶段。shufflewrite的触发条件就是上游的Stage任务shuffleMapTask完成计算后,会哪找下游S
Spring Boot 集成 Kafka
m0_74824592
面试 学习路线 阿里巴巴 spring boot kafka linq
在现代软件开发中,分布式系统和微服务架构越来越受到关注。为了实现系统之间的异步通信和解耦,消息队列成为了一种重要的技术手段。Kafka作为一种高性能、分布式的消息队列系统,被广泛应用于各种场景。而SpringBoot作为一种流行的Java开发框架,提供了便捷的方式来构建应用程序。本文将介绍如何在SpringBoot项目中集成Kafka,包括Kafka的基本概念、SpringBoot集成Kafka的
家居巨头的觉醒,永洪科技为林氏家居开启一站式智慧决策
永洪科技
科技 大数据 人工智能 数据分析 数据可视化 报表
在现代企业经营中,数据不仅是资产,更是决策的指南针。永洪科技与林氏家居的合作,是共同开发了一个企业级的一站式大数据分析平台。在合作多年的积累下,已逐步成为家居行业数字化转型的代表性案例。这不仅是两家企业间的合作,更是对于如何有效整合企业内部数据资产,支持各领域业务分析的一次深度实践。以下,我们将深入探讨该项目的每个关键阶段,展示永洪科技的专业能力和对潜在客户的价值承诺。广东林氏家居股份有限公司,创
flink-cdc实时增量同步mysql数据到elasticsearch
大数据技术派
# Flink elasticsearch flink mysql
什么是CDC?CDC是(ChangeDataCapture变更数据获取)的简称。核心思想是,监测并捕获数据库的变动(包括数据或数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。1.环境准备mysqlelasticsearchflinkonyarn说明:如果没有安装hadoop,那么可以不用yarn,直
Golang分布式事务_golang 分布式事务
2401_87197933
golang 分布式 开发语言
在TCC事务中,每个事务参与者都需要实现三个方法:Try方法用于执行事务操作,Confirm方法用于确认事务,Cancel方法用于回滚事务。事务协调者通过调用每个参与者的Try方法来执行事务操作,根据返回的结果来决定是否确认或回滚事务。由于TCC事务是用户自定义的,所以可以根据具体的业务需求来实现事务操作的逻辑,并且具有较好的灵活性和可扩展性。消息队列消息队列是一种异步通信机制,可以用于实现分布式
Hive在大数据集群下的部署
正在绘制中
大数据 大数据 hive
hive安装1)把apache-hive-3.1.3-bin.tar.gz上传到Linux的/opt/software目录下2)解压apache-hive-3.1.3-bin.tar.gz到/opt/module/目录下面tar-zxvf/opt/software/apache-hive-3.1.3-bin.tar.gz-C/opt/module/3)修改apache-hive-3.1.3-bin
搭建分布式Hive集群
逸曦玥泱
大数据运维 分布式 hive hadoop
title:搭建分布式Hive集群date:2024-11-2923:39:00categories:-服务器tags:-Hive-大数据搭建分布式Hive集群本次实验环境:Centos7-2009、Hadoop-3.1.4、JDK8、Zookeeper-3.6.3、Mysql-5.7.38、Hive-3.1.2功能规划方案一(本地运行模式)Master主节点(Mysql+Hive)192.168
Hadoop、Spark和 Hive 的详细关系
夜行容忍
hadoop spark hive
Hadoop、Spark和Hive的详细关系1.ApacheHadoopHadoop是一个开源框架,用于分布式存储和处理大规模数据集。核心组件:HDFS(HadoopDistributedFileSystem):分布式文件系统,提供高吞吐量的数据访问。YARN(YetAnotherResourceNegotiator):集群资源管理和作业调度系统。MapReduce:基于YARN的并行处理框架,用
Windows系统下解压".tar"文件出错,提示:无法创建符号链接,可能需要以管理器身份运行winrar
ruangaoyan
1、解压文件出错,如下信息:D:\tools\hadoop-3.1.2.tar.gz:无法创建符号链接D:\tools\hadoop-3.1.2\hadoop-3.1.2\lib\native\libhadoop.so您可能需要以管理器身份运行WinRAR!客户端没有所需的特权。2、解决方式如下:WIN+R快捷的打开命令窗口,输入CMD输入:cd/dD:\tools\hadoop-3.1.2这是我
Elasticsearch(ES)详解:从入门到实践
坚持蛊
elasticsearch jenkins 大数据
引言简介:Elasticsearch是一个基于Lucene的分布式搜索引擎,具有高效的全文搜索功能,广泛应用于日志分析、搜索引擎、实时数据处理等领域。本文目标:介绍Elasticsearch的基本概念、架构设计、配置优化、常见应用以及实际案例,帮助开发者掌握ES1.Elasticsearch概述Elasticsearch的背景和发展历程核心功能:全文检索、分布式搜索、实时数据分析主要应用场景:日志
斐波拉契数列
RichardK.
c++ 学习
题目描述给定正整数n,求斐波那契数列的第n项F(n)。令F(n)表示斐波那契数列的第n项,它的定义是:当n=1时,F(n)=1;当n=2时,F(n)=1;当n>2时,F(n)=F(n−1)+F(n−2)。大数据版:斐波拉契数列-大数据版输入描述一个正整数n(1≤n≤104)。输出描述斐波那契数列的第n项F(n)。由于结果可能很大,因此将结果对10007取模后输出。样例1输入1输出1解释边界定义:F
大数据技术生态圈:Hadoop、Hive、Spark的区别和关系
雨中徜徉的思绪漫溢
大数据 hadoop hive
大数据技术生态圈:Hadoop、Hive、Spark的区别和关系在大数据领域中,Hadoop、Hive和Spark是三个常用的开源技术,它们在大数据处理和分析方面发挥着重要作用。虽然它们都是为了处理大规模数据集而设计的,但它们在功能和使用方式上存在一些区别。本文将详细介绍Hadoop、Hive和Spark的区别和关系,并提供相应的源代码示例。Hadoop:Hadoop是一个用于分布式存储和处理大规
flink+kafka实现流数据处理学习
上海研博数据
java
在应用系统的建设过程中,通常都会遇到需要实时处理数据的场景,处理实时数据的框架有很多,本文将以一个示例来介绍flink+kafka在流数据处理中的应用。1、概念介绍flink:是一个分布式、高可用、高可靠的大数据处理引擎,提供了一种高效、可靠、可扩展的方式来处理和分析实时数据。kafka:是用于构建实时数据管道和流应用程序并具有横向扩展,容错,wickedfast(变态快)等优点的一种消息中间件。
Elasticsearch 入门教学:从零开始掌握分布式搜索引擎
格子先生Lab
搜索引擎 elasticsearch 分布式
引言Elasticsearch是一个开源的分布式搜索引擎,基于ApacheLucene构建,能够实现近乎实时的数据搜索和分析。它广泛应用于日志分析、全文搜索、数据可视化等场景。本文将带你从零开始学习Elasticsearch,掌握其基本概念、安装配置、数据操作及搜索功能。1.Elasticsearch简介1.1什么是Elasticsearch?Elasticsearch是一个分布式的RESTful
大数据面试之路 (一) 数据倾斜
愿与狸花过一生
大数据 面试 职场和发展
记录大数据面试历程数据倾斜大数据岗位,数据倾斜面试必问的一个问题。一、数据倾斜的表现与原因表现某个或某几个Task执行时间过长,其他Task快速完成。Spark/MapReduce作业卡在某个阶段(如reduce阶段),日志显示少数Task处理大量数据。资源利用率不均衡(如CPU、内存集中在某些节点)。常见场景Key分布不均:如某些Key对应的数据量极大(如用户ID为空的记录、热点事件)。数据分区
zookeeper程序员指南
weixin_30326741
java 运维 shell
1简介本文是为想要创建使用ZooKeeper协调服务优势的分布式应用的开发者准备的。本文包含理论信息和实践信息。本指南的前四节对各种ZooKeeper概念进行较高层次的讨论。这些概念对于理解ZooKeeper是如何工作的,以及如何使用ZooKeeper来进行工作都是必要的。这几节没有代码,但却要求读者对分布式计算相关的问题较为熟悉。本文的大多数信息以可独立访问的参考材料的形式存在。但是,在编写第一
ZooKeeper学习总结(1)——ZooKeeper入门介绍
一杯甜酒
ZooKeeper学习总结 Zookeeper
1.概述Zookeeper是Hadoop的一个子项目,它是分布式系统中的协调系统,可提供的服务主要有:配置服务、名字服务、分布式同步、组服务等。它有如下的一些特点:简单Zookeeper的核心是一个精简的文件系统,它支持一些简单的操作和一些抽象操作,例如,排序和通知。丰富Zookeeper的原语操作是很丰富的,可实现一些协调数据结构和协议。例如,分布式队列、分布式锁和一组同级别节点中的“领导者选举
Zookeeper+kafka学习笔记
CHR_YTU
Zookeeper
Zookeeper是Apache的一个java项目,属于Hadoop系统,扮演管理员的角色。配置管理分布式系统都有好多机器,比如我在搭建hadoop的HDFS的时候,需要在一个主机器上(Master节点)配置好HDFS需要的各种配置文件,然后通过scp命令把这些配置文件拷贝到其他节点上,这样各个机器拿到的配置信息是一致的,才能成功运行起来HDFS服务。Zookeeper提供了这样的一种服务:一种集
Zookeeper【概念(集中式到分布式、什么是分布式 、CAP定理 、什么是Zookeeper、应用场景、为什么选择Zookeeper 、基本概念) 】(一)-全面详解(学习总结---从入门到深化)
童小纯
中间件大全---全面详解 zookeeper 分布式
作者简介:大家好,我是小童,Java开发工程师,CSDN博客博主,Java领域新星创作者系列专栏:前端、Java、Java中间件大全、微信小程序、微信支付、若依框架、Spring全家桶如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步如果感觉博主的文章还不错的话,请三连支持一下博主哦博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人目录Zookeeper概念_集中式到分布
麒麟arm架构系统_安装nginx-1.27.0_访问500 internal server error nginx解决_13: Permission denied---Linux工作笔记072
添柴程序猿
java nginx-1.27.0 nginx最新版安装 麒麟v10 arm架构 麒麟v10 安装nginx
[
[email protected] ]#wget-chttp://nginx.org/download/nginx-1.27.0.tar.gz--2024-07-0509:47:00--http://nginx.org/download/nginx-1.27.0.tar.gzResolvingnginx.org(nginx.org)...3.125.197.172,52.58.19
Git前言(版本控制)
Starbright.
Git git
1.Git目前世界上最先进的分布式版本控制系统。git官网:https://git-scm.com/2.版本控制2.1什么是版本控制版本控制(Revisioncontrol)是一种在开发的过程中用于管理我们对文件、目录或工程等内容修改历史,方便查看更改历史记录备份以便恢复以前的版本的软件工程技术。实现跨区域多人协同开发追踪和记载一个或者多个文件的历史记录组织和保护你的源代码和文档统计工作量并行开发
Zookeeper与Kafka学习笔记
上海研博数据
zookeeper kafka 学习
一、Zookeeper核心要点1.核心特性分布式协调服务,用于维护配置/命名/同步等元数据采用层次化数据模型(Znode树结构),每个节点可存储<1MB数据典型应用场景:HadoopNameNode高可用HBase元数据管理Kafka集群选举与状态管理2.设计限制内存型存储,不适合大数据量场景数据变更通过版本号(Version)控制,实现乐观锁机制采用ZAB协议保证数据一致性二、Kafka核心架构
Enum用法
不懂事的小屁孩
enum
以前的时候知道enum,但是真心不怎么用,在实际开发中,经常会用到以下代码:
protected final static String XJ = "XJ";
protected final static String YHK = "YHK";
protected final static String PQ = "PQ";
【Spark九十七】RDD API之aggregateByKey
bit1129
spark
1. aggregateByKey的运行机制
/**
* Aggregate the values of each key, using given combine functions and a neutral "zero value".
* This function can return a different result type
hive创建表是报错: Specified key was too long; max key length is 767 bytes
daizj
hive
今天在hive客户端创建表时报错,具体操作如下
hive> create table test2(id string);
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataSto
Map 与 JavaBean之间的转换
周凡杨
java 自省 转换 反射
最近项目里需要一个工具类,它的功能是传入一个Map后可以返回一个JavaBean对象。很喜欢写这样的Java服务,首先我想到的是要通过Java 的反射去实现匿名类的方法调用,这样才可以把Map里的值set 到JavaBean里。其实这里用Java的自省会更方便,下面两个方法就是一个通过反射,一个通过自省来实现本功能。
1:JavaBean类
1 &nb
java连接ftp下载
g21121
java
有的时候需要用到java连接ftp服务器下载,上传一些操作,下面写了一个小例子。
/** ftp服务器地址 */
private String ftpHost;
/** ftp服务器用户名 */
private String ftpName;
/** ftp服务器密码 */
private String ftpPass;
/** ftp根目录 */
private String f
web报表工具FineReport使用中遇到的常见报错及解决办法(二)
老A不折腾
finereport web报表 java报表 总结
抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己。
出现问题先搜一下文档上有没有,再看看度娘有没有,再看看论坛有没有。有报错要看日志。下面简单罗列下常见的问题,大多文档上都有提到的。
1、没有返回数据集:
在存储过程中的操作语句之前加上set nocount on 或者在数据集exec调用存储过程的前面加上这句。当S
linux 系统cpu 内存等信息查看
墙头上一根草
cpu 内存 liunx
1 查看CPU
1.1 查看CPU个数
# cat /proc/cpuinfo | grep "physical id" | uniq | wc -l
2
**uniq命令:删除重复行;wc –l命令:统计行数**
1.2 查看CPU核数
# cat /proc/cpuinfo | grep "cpu cores" | u
Spring中的AOP
aijuans
spring AOP
Spring中的AOP
Written by Tony Jiang @ 2012-1-18 (转)何为AOP
AOP,面向切面编程。
在不改动代码的前提下,灵活的在现有代码的执行顺序前后,添加进新规机能。
来一个简单的Sample:
目标类:
[java]
view plain
copy
print
?
package&nb
placeholder(HTML 5) IE 兼容插件
alxw4616
JavaScript jquery jQuery插件
placeholder 这个属性被越来越频繁的使用.
但为做HTML 5 特性IE没能实现这东西.
以下的jQuery插件就是用来在IE上实现该属性的.
/**
* [placeholder(HTML 5) IE 实现.IE9以下通过测试.]
* v 1.0 by oTwo 2014年7月31日 11:45:29
*/
$.fn.placeholder = function
Object类,值域,泛型等总结(适合有基础的人看)
百合不是茶
泛型的继承和通配符 变量的值域 Object类转换
java的作用域在编程的时候经常会遇到,而我经常会搞不清楚这个
问题,所以在家的这几天回忆一下过去不知道的每个小知识点
变量的值域;
package 基础;
/**
* 作用域的范围
*
* @author Administrator
*
*/
public class zuoyongyu {
public static vo
JDK1.5 Condition接口
bijian1013
java thread Condition java多线程
Condition 将 Object 监视器方法(wait、notify和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个等待 set (wait-set)。其中,Lock 替代了 synchronized 方法和语句的使用,Condition 替代了 Object 监视器方法的使用。
条件(也称为条件队列或条件变量)为线程提供了一
开源中国OSC源创会记录
bijian1013
hadoop spark MemSQL
一.Strata+Hadoop World(SHW)大会
是全世界最大的大数据大会之一。SHW大会为各种技术提供了深度交流的机会,还会看到最领先的大数据技术、最广泛的应用场景、最有趣的用例教学以及最全面的大数据行业和趋势探讨。
二.Hadoop
&nbs
【Java范型七】范型消除
bit1129
java
范型是Java1.5引入的语言特性,它是编译时的一个语法现象,也就是说,对于一个类,不管是范型类还是非范型类,编译得到的字节码是一样的,差别仅在于通过范型这种语法来进行编译时的类型检查,在运行时是没有范型或者类型参数这个说法的。
范型跟反射刚好相反,反射是一种运行时行为,所以编译时不能访问的变量或者方法(比如private),在运行时通过反射是可以访问的,也就是说,可见性也是一种编译时的行为,在
【Spark九十四】spark-sql工具的使用
bit1129
spark
spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过
hive>输入的指令可以通过spark-sql>输入的指令来完成。
spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store
关于Hive build into Spark
js做的各种倒计时
ronin47
js 倒计时
第一种:精确到秒的javascript倒计时代码
HTML代码:
<form name="form1">
<div align="center" align="middle"
java-37.有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接
bylijinnan
java
public class MaxCatenate {
/*
* Q.37 有n 个长为m+1 的字符串,如果某个字符串的最后m 个字符与某个字符串的前m 个字符匹配,则两个字符串可以联接,
* 问这n 个字符串最多可以连成一个多长的字符串,如果出现循环,则返回错误。
*/
public static void main(String[] args){
mongoDB安装
开窍的石头
mongodb安装 基本操作
mongoDB的安装
1:mongoDB下载 https://www.mongodb.org/downloads
2:下载mongoDB下载后解压
 
[开源项目]引擎的关键意义
comsci
开源项目
一个系统,最核心的东西就是引擎。。。。。
而要设计和制造出引擎,最关键的是要坚持。。。。。。
现在最先进的引擎技术,也是从莱特兄弟那里出现的,但是中间一直没有断过研发的
 
软件度量的一些方法
cuiyadll
方法
软件度量的一些方法http://cuiyingfeng.blog.51cto.com/43841/6775/在前面我们已介绍了组成软件度量的几个方面。在这里我们将先给出关于这几个方面的一个纲要介绍。在后面我们还会作进一步具体的阐述。当我们不从高层次的概念级来看软件度量及其目标的时候,我们很容易把这些活动看成是不同而且毫不相干的。我们现在希望表明他们是怎样恰如其分地嵌入我们的框架的。也就是我们度量的
XSD中的targetNameSpace解释
darrenzhu
xml namespace xsd targetnamespace
参考链接:
http://blog.csdn.net/colin1014/article/details/357694
xsd文件中定义了一个targetNameSpace后,其内部定义的元素,属性,类型等都属于该targetNameSpace,其自身或外部xsd文件使用这些元素,属性等都必须从定义的targetNameSpace中找:
例如:以下xsd文件,就出现了该错误,即便是在一
什么是RAID0、RAID1、RAID0+1、RAID5,等磁盘阵列模式?
dcj3sjt126com
raid
RAID 1又称为Mirror或Mirroring,它的宗旨是最大限度的保证用户数据的可用性和可修复性。 RAID 1的操作方式是把用户写入硬盘的数据百分之百地自动复制到另外一个硬盘上。由于对存储的数据进行百分之百的备份,在所有RAID级别中,RAID 1提供最高的数据安全保障。同样,由于数据的百分之百备份,备份数据占了总存储空间的一半,因而,Mirror的磁盘空间利用率低,存储成本高。
Mir
yii2 restful web服务快速入门
dcj3sjt126com
PHP yii2
快速入门
Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API:
支持 Active Record 类的通用API的快速原型
涉及的响应格式(在默认情况下支持 JSON 和 XML)
支持可选输出字段的定制对象序列化
适当的格式的数据采集和验证错误
MongoDB查询(3)——内嵌文档查询(七)
eksliang
MongoDB查询内嵌文档 MongoDB查询内嵌数组
MongoDB查询内嵌文档
转载请出自出处:http://eksliang.iteye.com/blog/2177301 一、概述
有两种方法可以查询内嵌文档:查询整个文档;针对键值对进行查询。这两种方式是不同的,下面我通过例子进行分别说明。
二、查询整个文档
例如:有如下文档
db.emp.insert({
&qu
android4.4从系统图库无法加载图片的问题
gundumw100
android
典型的使用场景就是要设置一个头像,头像需要从系统图库或者拍照获得,在android4.4之前,我用的代码没问题,但是今天使用android4.4的时候突然发现不灵了。baidu了一圈,终于解决了。
下面是解决方案:
private String[] items = new String[] { "图库","拍照" };
/* 头像名称 */
网页特效大全 jQuery等
ini
JavaScript jquery css html5 ini
HTML5和CSS3知识和特效
asp.net ajax jquery实例
分享一个下雪的特效
jQuery倾斜的动画导航菜单
选美大赛示例 你会选谁
jQuery实现HTML5时钟
功能强大的滚动播放插件JQ-Slide
万圣节快乐!!!
向上弹出菜单jQuery插件
htm5视差动画
jquery将列表倒转顺序
推荐一个jQuery分页插件
jquery animate
swift objc_setAssociatedObject block(version1.2 xcode6.4)
啸笑天
version
import UIKit
class LSObjectWrapper: NSObject {
let value: ((barButton: UIButton?) -> Void)?
init(value: (barButton: UIButton?) -> Void) {
self.value = value
Aegis 默认的 Xfire 绑定方式,将 XML 映射为 POJO
MagicMa_007
java POJO xml Aegis xfire
Aegis 是一个默认的 Xfire 绑定方式,它将 XML 映射为 POJO, 支持代码先行的开发.你开发服 务类与 POJO,它为你生成 XML schema/wsdl
XML 和 注解映射概览
默认情况下,你的 POJO 类被是基于他们的名字与命名空间被序列化。如果
js get max value in (json) Array
qiaolevip
每天进步一点点 学习永无止境 max 纵观千象
// Max value in Array
var arr = [1,2,3,5,3,2];Math.max.apply(null, arr); // 5
// Max value in Jaon Array
var arr = [{"x":"8/11/2009","y":0.026572007},{"x"
XMLhttpRequest 请求 XML,JSON ,POJO 数据
Luob.
POJO json Ajax xml XMLhttpREquest
在使用XMlhttpRequest对象发送请求和响应之前,必须首先使用javaScript对象创建一个XMLHttpRquest对象。
var xmlhttp;
function getXMLHttpRequest(){
if(window.ActiveXObject){
xmlhttp:new ActiveXObject("Microsoft.XMLHTTP
jquery
wuai
jquery
以下防止文档在完全加载之前运行Jquery代码,否则会出现试图隐藏一个不存在的元素、获得未完全加载的图像的大小 等等
$(document).ready(function(){
jquery代码;
});
<script type="text/javascript" src="c:/scripts/jquery-1.4.2.min.js&quo