首页 文章 精选 留言 我的

精选列表

搜索[快速],共10000篇文章
优秀的个人博客,低调大师

如何快速把hdfs数据动态导入到hive表

1. hdfs 文件 1 { "retCode" : 1 , "retMsg" : "Success" , "data" :[{ "secID" : "000001.XSHE" , "ticker" : "000001" , "secShortName" : "深发展A" , "exchangeCD" : "XSHE" , "tradeDate" : "1991-10-21" , "preClosePrice" : 24 , "actPreClosePrice" : 24 , "openPrice" : 24 , "highestPrice" : 24.4 , "lowestPrice" : 23.85 , "closePrice" : 23.9 , "turnoverVol" : 355700 , "turnoverValue" : 8582250 , "turnoverRate" : 0.0058 , "accumAdjFactor" : 0.0117201563 , "negMarketValue" : 1462295257.8 , "marketValue" : 2145064267.7 , "PB" : 2.2666 , "isOpen" : 1 },{ "secID" : "000002.XSHE" , "ticker" : "000002" , "secShortName" : "深万科A" , "exchangeCD" : "XSHE" , "tradeDate" : "1991-10-21" , "preClosePrice" : 8 , "actPreClosePrice" : 8 , "openPrice" : 8 , "highestPrice" : 8 , "lowestPrice" : 7.7 , "closePrice" : 7.9 , "turnoverVol" : 375000 , "turnoverValue" : 2944200 , "turnoverRate" : 0.0066 , "accumAdjFactor" : 0.0117337592 , "negMarketValue" : 451011000 , "marketValue" : 615927450 , "PB" : 1.0001 , "isOpen" : 1 },{ "secID" : "000004.XSHE" , "ticker" : "000004" , "secShortName" : "深安达A" , "exchangeCD" : "XSHE" , "tradeDate" : "1991-10-21" , "preClosePrice" : 7.25 , "actPreClosePrice" : 7.25 , "openPrice" : 7.25 , "highestPrice" : 7.25 , "lowestPrice" : 7.2 , "closePrice" : 7.2 , "turnoverVol" : 92000 , "turnoverValue" : 665125 , "turnoverRate" : 0.0078 , "accumAdjFactor" : 0.2649084628 , "negMarketValue" : 84977100 , "marketValue" : 175500000 , "PB" : 7.4199 , "isOpen" : 1 },{ "secID" : "000005.XSHE" , "ticker" : "000005" , "secShortName" : "深原野A" , "exchangeCD" : "XSHE" , "tradeDate" : "1991-10-21" , "preClosePrice" : 6.46 , "actPreClosePrice" : 6.46 , "openPrice" : 6.49 , "highestPrice" : 6.49 , "lowestPrice" : 6.49 , "closePrice" : 6.49 , "turnoverVol" : 94500 , "turnoverValue" : 613305 , "turnoverRate" : 0.0021 , "accumAdjFactor" : 0.1016459912 , "negMarketValue" : 287756865 , "marketValue" : 584100000 , "PB" : 9.1783 , "isOpen" : 1 },{ "secID" : "000009.XSHE" , "ticker" : "000009" , "secShortName" : "深宝安A" , "exchangeCD" : "XSHE" , "tradeDate" : "1991-10-21" , "preClosePrice" : 5.75 , "actPreClosePrice" : 5.75 , "openPrice" : 5.7 , "highestPrice" : 5.8 , "lowestPrice" : 5.65 , "closePrice" : 5.75 , "turnoverVol" : 767500 , "turnoverValue" : 4382245 , "turnoverRate" : 0.0084 , "accumAdjFactor" : 0.1026538759 , "negMarketValue" : 524745000 , "marketValue" : 1293922500 , "PB" : 2.4503 , "isOpen" : 1 },{ "secID" : "600601.XSHG" , "ticker" : "600601" , "secShortName" : "延中实业" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 65.7 , "actPreClosePrice" : 65.7 , "openPrice" : 66.4 , "highestPrice" : 66.4 , "lowestPrice" : 66.4 , "closePrice" : 66.4 , "turnoverVol" : 5333 , "turnoverValue" : 354111 , "dealAmount" : 81 , "turnoverRate" : 0.0053 , "accumAdjFactor" : 0.0010592167 , "negMarketValue" : 66400000 , "marketValue" : 66400000 , "PB" : 40.7703 , "isOpen" : 1 },{ "secID" : "600602.XSHG" , "ticker" : "600602" , "secShortName" : "真空电子" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 640.6 , "actPreClosePrice" : 640.6 , "openPrice" : 647 , "highestPrice" : 647 , "lowestPrice" : 647 , "closePrice" : 647 , "turnoverVol" : 2589 , "turnoverValue" : 1675083 , "dealAmount" : 227 , "turnoverRate" : 0.0051 , "accumAdjFactor" : 0.0019640692 , "negMarketValue" : 330552300 , "marketValue" : 1294000000 , "PB" : 287.6707 , "isOpen" : 1 },{ "secID" : "600651.XSHG" , "ticker" : "600651" , "secShortName" : "飞乐音响" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 119.6 , "actPreClosePrice" : 119.6 , "openPrice" : 120.8 , "highestPrice" : 120.8 , "lowestPrice" : 120.8 , "closePrice" : 120.8 , "turnoverVol" : 1102 , "turnoverValue" : 133122 , "dealAmount" : 14 , "turnoverRate" : 0.0022 , "accumAdjFactor" : 0.0008192464 , "negMarketValue" : 60400000 , "marketValue" : 60400000 , "PB" : 39.6397 , "isOpen" : 1 },{ "secID" : "600652.XSHG" , "ticker" : "600652" , "secShortName" : "爱使电子" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 83.2 , "actPreClosePrice" : 83.2 , "openPrice" : 0 , "highestPrice" : 0 , "lowestPrice" : 0 , "closePrice" : 83.2 , "turnoverVol" : 0 , "turnoverValue" : 0 , "dealAmount" : 0 , "turnoverRate" : 0 , "accumAdjFactor" : 0.0006920481 , "negMarketValue" : 22464000 , "marketValue" : 22464000 , "PB" : 33.8019 , "isOpen" : 0 },{ "secID" : "600653.XSHG" , "ticker" : "600653" , "secShortName" : "申华电工" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 103.4 , "actPreClosePrice" : 103.4 , "openPrice" : 104.4 , "highestPrice" : 104.4 , "lowestPrice" : 104.4 , "closePrice" : 104.4 , "turnoverVol" : 240 , "turnoverValue" : 25056 , "dealAmount" : 4 , "turnoverRate" : 0.0005 , "accumAdjFactor" : 0.0009289199 , "negMarketValue" : 52200000 , "marketValue" : 52200000 , "PB" : 97.279 , "isOpen" : 1 },{ "secID" : "600654.XSHG" , "ticker" : "600654" , "secShortName" : "飞乐股份" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 633.2 , "actPreClosePrice" : 633.2 , "openPrice" : 639.5 , "highestPrice" : 639.5 , "lowestPrice" : 639.5 , "closePrice" : 639.5 , "turnoverVol" : 101 , "turnoverValue" : 64590 , "dealAmount" : 26 , "turnoverRate" : 0.0048 , "accumAdjFactor" : 0.000663586 , "negMarketValue" : 13429500 , "marketValue" : 134358950 , "PB" : 282.9834 , "isOpen" : 1 },{ "secID" : "600656.XSHG" , "ticker" : "600656" , "secShortName" : "浙江凤凰" , "exchangeCD" : "XSHG" , "tradeDate" : "1991-10-21" , "preClosePrice" : 1242.9 , "actPreClosePrice" : 1242.9 , "openPrice" : 1255.3 , "highestPrice" : 1255.3 , "lowestPrice" : 1255.3 , "closePrice" : 1255.3 , "turnoverVol" : 140 , "turnoverValue" : 175742 , "dealAmount" : 7 , "turnoverRate" : 0.0031 , "accumAdjFactor" : 0.0007136096 , "negMarketValue" : 56502308.3 , "marketValue" : 321798665.6 , "PB" :- 604.4303 , "isOpen" : 1 }]} 1 2. 创建 hive 临时表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 CREATE EXTERNAL TABLE if not exists sensitop.equd_json_tmp ( retCode string, retMsg string, data array<struct< secID: string, tradeDate: date, ticker: string, secShortName: string, exchangeCD: string, preClosePrice: double , actPreClosePrice: double , openPrice: double , highestPrice: double , lowestPrice: double , closePrice: double , turnoverVol: double , turnoverValue: double , dealAmount: int , turnoverRate: double , accumAdjFactor: double , negMarketValue: double , marketValue: double , PE: double , PE1: double , PB: double , isOpen: int >>) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' LOCATION 'hdfs://hdfs1.wdp:8020/sensitop/finance/equd' ; 1 3. 创建 hive 表 1 需要把上面表里数组里的数据一条一条放入这个表: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 CREATE TABLE if not exists sensitop.equd_h( secID string, ticker string, secShortName string, exchangeCD string, tradeDate date, preClosePrice double , actPreClosePrice double , openPrice double , highestPrice double , lowestPrice double , closePrice double , turnoverVol double , turnoverValue double , dealAmount int , turnoverRate double , accumAdjFactor double , negMarketValue double , marketValue double , PE double , PE1 double , PB double , isOpen int ) partitioned by (year string) ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' 1 1 然后新建一个最张表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 CREATE TABLE if not exists sensitop.equd( secID string, ticker string, secShortName string, exchangeCD string, tradeDate date, preClosePrice double , actPreClosePrice double , openPrice double , highestPrice double , lowestPrice double , closePrice double , turnoverVol double , turnoverValue double , dealAmount int , turnoverRate double , accumAdjFactor double , negMarketValue double , marketValue double , PE double , PE1 double , PB double , isOpen int ) partitioned by (year string) 1 1 <strong>注意:这里的字段顺序和上面临时表的顺序要一致。</strong> 1 4. 用 Partition 更新数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 insert overwrite table sensitop.equd_tmp partition (year= '2016' ) select b.dt.secID, b.dt.ticker, b.dt.secShortName, b.dt.exchangeCD, b.dt.tradeDate, b.dt.preClosePrice, b.dt.actPreClosePrice, b.dt.openPrice, b.dt.highestPrice, b.dt.lowestPrice, b.dt.closePrice, b.dt.turnoverVol, b.dt.turnoverValue, b.dt.dealAmount, b.dt.turnoverRate, b.dt.accumAdjFactor, b.dt.negMarketValue, b.dt.marketValue, b.dt.PE, b.dt.PE1, b.dt.PB, b.dt.isOpen from sensitop.equd_json_tmp LATERAL VIEW explode(equd_json_tmp.data) b AS dt where dt.tradedate >= '2016-01-01' and dt.tradedate <= '2016-12-31' ; 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 insert overwrite table sensitop.equd partition (year= '2016' ) select secID, ticker, secShortName, exchangeCD, tradeDate, preClosePrice, actPreClosePrice, openPrice, highestPrice, lowestPrice, closePrice, turnoverVol, turnoverValue, dealAmount, turnoverRate, accumAdjFactor, negMarketValue, marketValue, PE, PE1, PB, isOpen from sensitop.equd_tmp dt where year = '2016' ; 1 5. 用nifi实现动态插入数据 1 1 这里有二个分支,左边一个是每天 20 : 00 更新当年的partion; 右边一个是更新 1990 到 2015 年的数据,而且只需要更新一次。 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 insert overwrite table sensitop.equd_h partition (year= '${year}' ) select b.dt.secID, b.dt.ticker, b.dt.secShortName, b.dt.exchangeCD, b.dt.tradeDate, b.dt.preClosePrice, b.dt.actPreClosePrice, b.dt.openPrice, b.dt.highestPrice, b.dt.lowestPrice, b.dt.closePrice, b.dt.turnoverVol, b.dt.turnoverValue, b.dt.dealAmount, b.dt.turnoverRate, b.dt.accumAdjFactor, b.dt.negMarketValue, b.dt.marketValue, b.dt.PE, b.dt.PE1, b.dt.PB, b.dt.isOpen from sensitop.equd_json_tmp LATERAL VIEW explode(equd_json_tmp.data) b AS dt where dt.tradedate >= '${year}-01-01' and dt.tradedate <= '${year}-12-31' 1 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 insert overwrite table sensitop.equd partition (year= '${year}' ) select secID, ticker, secShortName, exchangeCD, tradeDate, preClosePrice, actPreClosePrice, openPrice, highestPrice, lowestPrice, closePrice, turnoverVol, turnoverValue, dealAmount, turnoverRate, accumAdjFactor, negMarketValue, marketValue, PE, PE1, PB, isOpen from sensitop.equd_tmp dt where year = '${year}' 1 本文转自疯吻IT博客园博客,原文链接:http://www.cnblogs.com/fengwenit/p/6022599.html,如需转载请自行联系原作者

优秀的个人博客,低调大师

阿里云E-MapReduce快速入门之准备工作

在创建 E-MapReduce 之前,您需要先完成以下准备工作: 1.注册阿里云账号 在申请 E-MapReduce 集群之前,您需要一个阿里云的云账号用于标识您在整个阿里云生态系统中的身份。该账号不仅可以用来申请 E-MapReduce 集群,同时还能够开通阿里云的对象存储服务 OSS、云数据库 RDS等服务。 如果您还没有阿里云的云账号,请参见注册云账号进行申请。 2.创建 Access Key(可选) 由于 E-MapReduce 调用访问的需要,您至少需要创建一个 Access Key,创建步骤如下: 登录阿里云官网。 登录管理控制台。 单击 AccessKeys。 注意:若出现如下提示框,请单击继续使用 Accesskey。 accesskey 提示 单击创建 Access Key,然后再单击同意并创建。 输入短信校验码,单击确定。Access Key 创建成功。 3.开通阿里云 OSS 服务 E-MapReduce 会将您的作业日志和运行日志保存在您的阿里云 OSS 存储空间中,所以需要您开通阿里云 OSS 服务,操作步骤请参见开通 OSS 服务。并在您期望创建集群的相同地域创建Bucket,参见创建Bucket。 4.开通高配机型(可选) 如果您需要在按量的集群中使用8核及8核以上的机型时,需要先在ECS处申请开通。申请高配机型 5.准备足够的余额 目前根据阿里云 ECS 的规则,用户在购买按量付费 ECS 的时候,要保证阿里云账户中至少有 100 元的现金(注意:代金券无效)。因此,在创建按量集群前,请确认您的账户中已至少充值 100 元,否则会创建失败。前往充值 当您使用完成并释放集群以后,在没有ECS或者其他按量产品在使用的情况下,您可以将这100元提现,回到您自己的原有账户中。

优秀的个人博客,低调大师

云服务器 ECS快速入门:远程连接 ECS 实例

远程连接 ECS 实例 阿里云在控制台为您提供了 管理终端,方便您远程连接并管理 ECS 实例。 您也可以使用其他方式远程连接 ECS 实例: 如果是 Linux 实例: 使用 SSH 密钥对连接 Linux 实例 使用远程连接软件或 SSH 命令连接 Linux 实例 如果是 Windows 实例:使用远程连接软件连接 Windows 实例 以下是使用 管理终端 连接 ECS 实例操作步骤的简易说明。 登录 云服务器 ECS 管理控制台。 在左侧导航栏里,单击 实例。 在 实例列表 页上,选择目标地域。 在实例列表里,找到需要连接的实例,在 操作 列,单击 远程连接。 连接 管理终端: 如果这是您第一次连接 管理终端,应按照以下方式连接 管理终端: 在弹出的 远程连接密码 对话框,复制密码。 注意:连接密码仅在第一次连接管理终端时显示一次。如果您以后需要使用

优秀的个人博客,低调大师

如何快速搭建一个阿里云服务器

1. 前言 搭建服务器的方式可以是买一台物理主机,也可以是使用网上的云服务器(VPS)。前者需要考虑硬件维护等琐碎问题,因而这里只介绍后者; 目前云服务器提供商很多,腾讯、阿里等等,本文介绍阿里云纯粹是因为个人喜好; 想在阿里云上传自己的代码以供客户端访问,可以使用虚拟主机或云服务器(OSS 静态托管不考虑)。前者价格便宜,但是没有主机的全部控制权,可以理解成大家共享一台主机,只不过每个人都有自己的私有空间罢了。因而对于想要学习服务器管理的需求者来说,使用虚拟主机是不合适的; 总之,我们需要一台真正的服务器。 2. 阿里云服务器购置 首先,你需要有一个阿里云账号。 使用云翼计划用学生身份可以以¥9-10/月 的价格得到一台配置还可以的云服务器,足够进行云服务器相关知识的学习和实践,不过因为硬件本身毕竟还是处于低档位,这个价格的服务器在处理 I/O 操作的时候差强人意。 3. 服务器系统安装 在购置服务器的时候,会选择安装操作系统。使用公共镜像安装的操作系统默认没有所需的如 java,php 等环境。这里我们可以使用镜像市场中带有某些环境的操作系统来简化一部分配置流程(比如选择带有 lamp 环境的 centos6.5 系统)。 4. 后续 登录阿里云控制台; 选择云服务器 ECS; 找到自己的服务器列表; 查看服务器 ip 地址; 使用 ssh 工具运行 ssh root@主机 ip 地址 就可以远程访问服务器了; 之后就是属于 Linux 的知识范畴了。 5. 关于域名绑定服务器和备案问题 阿里云也提供了域名购买的服务,使用阿里云的域名和服务器会有一种无缝衔接的感觉,不过这一点在其他同时提供这两项服务的服务商那里应该都有体现。关于服务器和域名备案的问题,有一下几点要说明: .cn 后缀为中国一级域名; 域名为 .cn 后缀,或域名指向的服务器 ip 地址所属中国,该域名均需备案。域名备案流程比较慢,填表、寄邮件、拍照,网信办确认等; 服务器 ip 地址为中国的云服务器也需要备案,不过相对简单,提交服务器密码,实名认证即可; 域名解析到私网网段的无需备案; 本文作者:dailybird 来源:51CTO

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册