首页 文章 精选 留言 我的

精选列表

搜索[可复现构建],共10000篇文章
优秀的个人博客,低调大师

使用StreamingPro 快速构建Spark SQL on CarbonData

前言 CarbonData已经发布了1.0版本,变更还是很快的,这个版本已经移除了kettle了,使得部署和使用 变得很简单,而且支持1.6+ ,2.0+等多个Spark版本。 StreamingPro可以使得你很简单通过一个命令就能体验Carbondata,并且支持Http/JDBC的访问形态。 下载Spark发行版 比如我下载后的版本是这个: spark-1.6.3-bin-hadoop2.6。 下载StreamingPro 地址在这: https://pan.baidu.com/s/1eRO5Wga ,你会得到一个比较大的Jar包。 同时你需要到maven下载一个 carbondata-spark-1.0.0-incubating.jar ,这个因为一些特殊原因才会用到。 你需要一个数据库 因为我们用到了Hive 的mysql,所以你需要准备一个可以连接的数据库。只要能连接就行。如果没有,比如你是mac的话,用 brew install mysql即可。然后brew services start mysql 创建一个数据库: create database hive CHARACTER SET latin1 //如果数据库包字符异常啥的,启动完streamingpro后到数据库做如下更改: alter table PARTITIONS convert to character set latin1; alter table PARTITION_KEYS convert to character set latin1; 写一个hive-site.xml文件 <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://127.0.0.1:3306/hive?createDatabaseIfNoExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>你的mysql账号</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>你的mysql密码</value> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>file:///tmp/user/hive/warehouse</value> </property> <property> <name>hive.exec.scratchdir</name> <value>file:///tmp/hive/scratchdir</value> </property> <property> <name>hive.metastore.uris</name> <value></value> </property> <property> <name>datanucleus.autoCreateSchema</name> <value>true</value> </property> </configuration> 可以启动了 //streamingpro jar包所处的目录, //里面新建一个query.json文件,里面放一个大括号就行 SHome=/Users/allwefantasy/streamingpro ./bin/spark-submit --class streaming.core.StreamingApp \ --master local[2] \ --name sql-interactive \ --jars /Users/allwefantasy/.m2/repository/org/apache/carbondata/carbondata-spark/1.0.0-incubating/carbondata-spark-1.0.0-incubating.jar \ --files $SHome/hive-site.xml \ --conf "spark.sql.hive.thriftServer.singleSession=true" \ $SHome/streamingpro-0.4.8-SNAPSHOT-online-1.6.1.jar \ -streaming.name sql-interactive \ -streaming.job.file.path file://$SHome/query.json \ -streaming.platform spark \ -streaming.rest true \ -streaming.driver.port 9004 \ -streaming.spark.service true \ -streaming.thrift true \ -streaming.enableCarbonDataSupport true \ -streaming.enableHiveSupport true \ -streaming.carbondata.store /tmp/carbondata/store \ -streaming.carbondata.meta /tmp/carbondata/meta参数比较多。大家不用管他。 这样http端口是9004, jdbc端口是 10000。 我们可以通过http创建一张表 , city string, age Int) STORED BY 'carbondata' curl --request POST \ --url http://127.0.0.1:9004/run/sql \ --header 'cache-control: no-cache' \ --header 'content-type: application/x-www-form-urlencoded' \ --header 'postman-token: 731441ac-c398-9a1b-2f06-8725ddbe84cd' \ --data 'sql=CREATE%20TABLE%20IF%20NOT%20EXISTS%20test_table4(id%20string%2C%20name%20string%2C%20city%20string%2C%20age%20Int)%20STORED%20BY%20'\''carbondata'\'''写入数据前,我们建立一个sample.csv的文件, id,name,city,age 1,david,shenzhen,31 2,eason,shenzhen,27 3,jarry,wuhan,35然后将这个文件导入: //实际SQL:LOAD DATA LOCAL INPATH '/Users/allwefantasy/streamingpro/sample.csv' INTO TABLE test_table4 curl --request POST \ --url http://127.0.0.1:9004/run/sql \ --header 'cache-control: no-cache' \ --header 'content-type: application/x-www-form-urlencoded' \ --header 'postman-token: 5eb19ab4-653c-d05f-29ab-6003d7e83755' \ --data 'sql=LOAD%20DATA%20LOCAL%20INPATH%20%20'\''%2FUsers%2Fallwefantasy%2Fstreamingpro%2Fsample.csv'\''%20%20INTO%20TABLE%20test_table4'这个使用我们可以用http查询: //sql: SELECT * FROM test_table4 curl --request POST \ --url http://127.0.0.1:9004/run/sql \ --header 'cache-control: no-cache' \ --header 'content-type: application/x-www-form-urlencoded' \ --header 'postman-token: d99349ae-b226-8a4e-4d65-d92b1771c111' \ --data 'sql=SELECT%20*%20FROM%20test_table4'你也可以写一个jdbc程序: object ScalaJdbcConnectSelect { def main(args: Array[String]) { // connect to the database named "mysql" on the localhost val driver = "com.mysql.jdbc.Driver" val url = "jdbc:hive2://localhost:10000/default" // there's probably a better way to do this var connection:Connection = null try { // make the connection Class.forName(driver) connection = DriverManager.getConnection(url) // create the statement, and run the select query val statement = connection.createStatement() val resultSet = statement.executeQuery("SELECT * FROM test_table4 ") while ( resultSet.next() ) { println(" city = "+ resultSet.getString("city") ) } } catch { case e => e.printStackTrace } connection.close() } }完成。

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

使用Spark SQL构建批处理程序

前言 今天介绍利用 StreamingPro 完成批处理的流程。 准备工作 下载StreamingPro README中有下载地址 我们假设您将文件放在了/tmp目录下。 填写配置文件 实例一,我要把数据从ES导出到HDFS,并且形成csv格式。 gist 启动StreamingPro Local模式: cd $SPARK_HOME ./bin/spark-submit --class streaming.core.StreamingApp \ --master local[2] \ --name test \ /tmp/streamingpro-0.2.1-SNAPSHOT-dev-1.6.1.jar \ -streaming.name test \ -streaming.platform spark \ -streaming.job.file.path file:///tmp/test.json 访问 http://127.0.0.1:4040 可进入Spark UI 集群模式: cd $SPARK_HOME ./bin/spark-submit --class streaming.core.StreamingApp \ --master yarn-cluster \ --name test \ /tmp/streamingpro-0.2.1-SNAPSHOT-dev-1.6.1.jar \ -streaming.name test \ -streaming.platform spark \ -streaming.job.file.path hdfs://cluster/tmp/test.json 这里需要注意的是,配置文件并蓄放到HDFS上,并且需要协商hdfs前缀。这是一个标准的Spark 批处理程序

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

可开源!汽车设备制造AI+能源管理平台

能源成本的控制力,取决于每个用能环节的可见度。可惜多数制造企业的能耗数据仍停留在“月报汇总”层面,过程监管缺失、异常响应滞后,再精细的成本核算也被一笔糊涂电费冲抵。国内某知名汽车设备公司之前也卡在这个环节。人工抄表三天一汇总,数据滞后不说,车间主任反映宿舍区空调和食堂灶具的用能常年混在一起算,想抓典型也无从下手。直到上了这套能源管理系统,局面才彻底扭转。核心就干了三件事:第一,把“手抄本”换成“物联网自动采集”。 水电气表全部接入B/S架构平台,实时读数远程上传,连重点设备的负荷曲线都能逐时追踪。运维人员不用再爬梯子抄高压柜,系统自动生成日/周/月报表,损耗分析里父表和子表的偏差直接标红,哪里跑冒滴漏一目了然。第二,用多维分析代替“拍脑袋”。 同比环比、对比分析、能流桑基图、电能质量测点……管理层大屏上按区域/支路/设备三个维度切着看,哪栋楼超了预算值、哪条产线能效倒挂,鼠标一点就出趋势。上个月食堂用电环比飙高,系统自动报警,排查发现是冷库压缩机故障,及时检修省下近万度电。第三,用能计划真正落地执行。 年初按部门下达用电定额,系统每月自动追踪实际消耗与预算偏差,超出阈值即时预警。车间主任手机上的微信小程序随时看剩余额度,不用等月底挨批,自己就把负荷压下来了。这套方案不搞大拆大建,轻量化部署。原有第三方平台的计量数据也能通过协议解析接入,历史数据无缝迁移。可视化决策层把所有的报表、趋势、排名浓缩成一张大屏,领导早会看一眼就知道昨天能耗是否异常。未来他们还要叠两个模块:一是基于历史负荷和排产计划的AI用能预测,提前三天给出峰谷用电建议;二是接入碳排放因子库,自动折算每条产线的碳足迹,为出口订单的碳关税应对打好数据基座。能耗管理不是成本中心,它是用数据换利润的隐形杠杆。当你的同行已经把每一度电都算进工艺成本里了,你还准备继续交“糊涂税”吗?

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

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

用户登录
用户注册