`
l4432848
  • 浏览: 254292 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

解析数据存储MySQL

    博客分类:
  • java
阅读更多

为了适应不同项目对不同感兴趣属性的解析存储,数据存储结构采用纵向的属性列表方式,即一个url页面多个属性存储多条记录方式,并且按照text,html,data,num几大典型类型分别对应存储。

  创建UTF-8字符集的nutch数据库,并执行表初始化脚本,参考DDL:

  CREATE TABLE `crawl_data` (

  `url` varchar(255) NOT NULL,

  `code` varchar(255) NOT NULL,

  `name` varchar(255) DEFAULT NULL,

  `category` varchar(255) DEFAULT NULL,

  `order_index` int(255) DEFAULT NULL,

  `fetch_time` datetime NOT NULL,

  `text_value` text, `html_value` text,

  `date_value` datetime DEFAULT NULL,

  `num_value` decimal(18,2) DEFAULT NULL

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  

  为了一般在业务系统获取同一个url的多个属性或友好查询显示,参考如下MySQL脚本实现把纵向的属性列表属性转换为横向的多列显示模式。网上有 相关参考脚本大多是基于数字字段sum汇总等模式的纵转横SQL脚本,本项目需求是单一的基于字符串信息转换,经过一段摸索最后找到基于 GROUP_CONCAT可以实现:

  SELECT url ,fetch_time,

  GROUP_CONCAT(CASE WHEN code = 'domain' THEN text_value ELSE null END) AS `domain`,

  GROUP_CONCAT(CASE WHEN code = 'name' THEN text_value ELSE null END) AS `name`,

  GROUP_CONCAT(CASE WHEN code = 'brand' THEN text_value ELSE null END) AS `brand`,

  GROUP_CONCAT(CASE WHEN code = 'category' THEN text_value ELSE null END) AS `category`,

  GROUP_CONCAT(CASE WHEN code = 'purpose' THEN text_value ELSE null END) AS `purpose`,

  GROUP_CONCAT(CASE WHEN code = 'price' THEN num_value ELSE null END) AS `price`,

  GROUP_CONCAT(CASE WHEN code = 'refPrice' THEN num_value ELSE null END) AS `refPrice`,

  GROUP_CONCAT(CASE WHEN code = 'primaryImage' THEN text_value ELSE null END) AS `primaryImage` FROM crawl_data GROUP BY url,fetch_time

  

技术分享:www.kaige123.com

0
1
分享到:
评论

相关推荐

    JAVA串口助手接收数据并解析数据存入MySQL数据库中

    在本文中,我们将深入探讨如何使用Java开发一个串口助手应用程序,该程序能接收来自串行端口的数据并将其解析后存储到MySQL数据库中。首先,我们需要了解串口通信的基本概念,然后学习Java如何处理串口输入,接着是...

    json格式文件解析+c# mysql连接(初学者)

    如果你需要从MongoDB迁移数据到MySQL,你需要先使用MongoDB的驱动程序(如MongoDB.Driver库)读取数据,然后按照上述步骤解析和存储到MySQL。 总的来说,这个教程涵盖了C#环境下使用JSON解析和MySQL数据库的基本...

    串口数据采集入MySQL数据库V2.0

    在本系统中,MySQL作为数据存储的后台,负责接收和管理来自串口的各类数据。 “串口数据采集入MySQL数据库V2.0”系统的核心功能可以分为以下几个方面: 1. **数据采集**:系统通过串口与外部设备建立连接,实时...

    使用java解析XML文件,解析完之后将解析结果导入mysql数据库中

    XML(Extensible Markup Language)是一种结构化数据格式,广泛用于存储和传输数据。本教程将介绍如何使用Java解析XML文件,并将解析结果导入MySQL数据库。 首先,我们需要引入处理XML的Java库——JAXB(Java ...

    爬取数据并存储到mysql

    将爬取到的数据存储到MySQL,主要涉及以下几个步骤: 1. 创建数据库和表:根据数据结构创建对应的数据库和表,定义字段和数据类型。 2. 连接数据库:使用Python连接器建立与MySQL服务器的连接,设置用户名、密码、...

    ESP8266上传数据到MySQL数据库.zip

    总之,通过ESP8266与MySQL的结合,我们可以创建一个简单的物联网数据记录系统,实时将设备数据存储到数据库,便于后续分析和管理。这个过程涉及客户端(ESP8266)的HTTP请求、服务器端(PHP)的数据库操作以及中间的...

    日志文件解析MySQL版

    其次,**MySQL建表脚本**是用于存储解析后的日志数据。MySQL是一个流行的关系型数据库管理系统,适合存储和查询结构化的数据。在分析日志时,我们需要设计合适的数据库表结构来存储各种日志事件。通常,表中可能包括...

    MySQL配置文件解析

    MySQL配置文件解析主要涉及到MySQL服务器的参数调整,这些参数直接影响数据库的性能和稳定性。配置文件通常命名为`my.cnf`或`my.ini`,在不同的操作系统路径可能不同。以下是几个关键参数的解释: 1. `port`:指定...

    hsql数据转移mysql

    在IT行业中,数据库管理是一项至关...以上就是关于“hsql数据转移mysql”的详细解析,这个过程涉及到数据库管理、数据迁移、SQL操作以及编程技术等多个方面,理解并掌握这些知识对于任何IT专业人员来说都是至关重要的。

    java实现Excel数据导入到mysql数据库.zip

    而MySQL则是一款开源的关系型数据库管理系统,被广泛用于存储和管理数据。本项目"java实现Excel数据导入到mysql数据库"旨在利用Java技术将Excel表格中的数据高效地导入到MySQL数据库,并且在数据库中存在相同数据时...

    datax数据从hive导入mysql数据缺失解决

    Hive 通常用于存储海量数据并进行批处理分析,而 MySQL 则用于存储结构化数据并提供快速查询服务。为了实现两者之间的数据交换,DataX 作为一种开源的数据同步工具被广泛应用。 #### 问题描述 在使用 DataX 将数据...

    批量从文本文件中读取数据存储到MySQL数据库

    本文将深入探讨如何批量从文本文件中读取数据并将其存储到MySQL数据库中。 首先,我们需要理解文本文件的数据结构。文本文件通常包含行和列数据,比如CSV(Comma Separated Values)文件,其中数据由逗号分隔。每行...

    MySQL海量数据存储与优化(上).pdf

    MySQL海量数据存储与优化 MySQL是一种关系型数据库管理系统,广泛应用于各个行业,包括互联网、金融、电信等领域。随着数据量的增长,MySQL的性能优化变得越来越重要。本文将详细介绍MySQL的架构原理、存储机制、...

    数据存储方式以及解析

    在本篇文章中,我们将深入探讨几种常见的数据存储方式及其解析方法。 首先,我们来了解传统的文件存储系统。文件系统是最基础的数据存储方式,例如FAT、NTFS和HFS+等。它们通过目录结构组织文件,方便用户直观地...

    MySQL存储引擎解析.doc

    MySQL存储引擎是数据库管理系统的核心组成部分,负责数据的存储和访问方式。MySQL系统由多个组件构成,包括管理工具、连接池、SQL接口、分析器、优化器、缓存、存储引擎和硬盘。其中,存储引擎是专门处理表数据的...

    深入解析:MySQL存储引擎的奥秘

    MySQL作为一款流行的开源关系型数据库管理系统(RDBMS),因其强大的功能和灵活的应用特性,在Web应用程序的后端数据存储领域占据着举足轻重的地位。MySQL支持SQL语言进行数据管理,并作为LAMP(Linux, Apache, ...

    全国快递物流查询 阿里云 物流公司 mysql数据 与 json数据

    在这个系统中,阿里云作为云计算平台扮演着关键角色,为数据存储和处理提供强大支持。本文将详细探讨这个系统的核心组成部分——MySQL数据库和JSON数据格式。 首先,MySQL是一种广泛使用的开源关系型数据库管理系统...

    Access 导入MySQL 数据文件

    在IT行业中,数据库管理系统是数据存储和管理的关键工具。Access和MySQL是两种广泛使用的数据库系统,各有其特点和优势。本文将深入探讨如何从Access导入数据到MySQL,以解决那些不熟悉Access但需要利用MySQL强大...

    MySQL误操作后快速恢复数据的方法

    binlog2sql是一款开源的MySQL binlog解析工具,它能够帮助我们解析binlog,生成误操作前后的SQL语句,从而实现快速的数据恢复。 要使用binlog2sql,首要条件是MySQL服务器已经开启了binlog,并配置了相关的参数,...

    基于Python的气象观测数据的解析与存储.pdf

    文档还提到了Python在数据解析方面的具体技术实现,包括利用Ftplib类库下载FTP服务器上的数据,使用Python的“切片”技术对原始文本数据进行解析,以及利用pymysql类库将整理后的数据存储到MySQL数据库中。...

Global site tag (gtag.js) - Google Analytics