首页 文章 精选 留言 我的

精选列表

搜索[资源读取],共10011篇文章
优秀的个人博客,低调大师

关于PHP读取HDFS的错误记录

昨日实现了用java对HDFS的操作(创建、删除、重命名目录,创建、删除、重命名文件),今天打算用php实现对HDFS的同样操作。 大体步骤如下: wgethttps://dist.apache.org/repos/dist/release/thrift/0.9.0/thrift-0.9.0.tar.gz tarzxvfthrift-0.9.0.tar.gz cdthrift-0.9.0 find/-name'bootstrap.sh' yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel /tmp/thrift-0.9.0/contrib/fb303/bootstrap.sh ./configure-prefix=/usr/local/thrift make//安装期间网络不可中断 makeinstall cp-R./lib/php//usr/local/thrift/lib/ cp-R/tmp/hadoop-1.0.4/src/contrib/thriftfs/gen-php//usr/local/thrift/lib/php/src/packages/hadoopfs/ cd./lib/php/src/ext/thrift_protocol/ yuminstallphp-devel /usr/bin/phpize ./configure make maketest makeinstall vim/etc/php.ini cd/tmp/hadoop-1.0.4/src/contrib/thriftfs/scripts/ /tmp/hadoop-1.0.4/src/contrib/thriftfs/scripts/start_thrift_server.sh 在修改了/tmp/hadoop-1.0.4/src/contrib/thriftfs/scripts/start_thrift_server.sh文件中对TOP和CLASSPATH行后,甚至更换了thrift版本到0.2.0依然出现如下错误(运行上述21行的结果)。 [root@srv211hadoop-1.0.4]#/tmp/hadoop-1.0.4/src/contrib/thriftfs/scripts/start_thrift_server.sh59256 log4j:ERRORCouldnotinstantiateclass[org.apache.hadoop.log.metrics.EventCounter]. java.lang.ClassNotFoundException:org.apache.hadoop.log.metrics.EventCounter atjava.net.URLClassLoader$1.run(URLClassLoader.java:366) atjava.net.URLClassLoader$1.run(URLClassLoader.java:355) atjava.security.AccessController.doPrivileged(NativeMethod) atjava.net.URLClassLoader.findClass(URLClassLoader.java:354) atjava.lang.ClassLoader.loadClass(ClassLoader.java:423) atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) atjava.lang.ClassLoader.loadClass(ClassLoader.java:356) atjava.lang.Class.forName0(NativeMethod) atjava.lang.Class.forName(Class.java:186) atorg.apache.log4j.helpers.Loader.loadClass(Loader.java:179) atorg.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:320) atorg.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:121) atorg.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:664) atorg.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:647) atorg.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:544) atorg.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:440) atorg.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:476) atorg.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:471) atorg.apache.log4j.LogManager.<clinit>(LogManager.java:125) atorg.apache.log4j.Logger.getLogger(Logger.java:105) atorg.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289) atorg.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:109) atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod) atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) atjava.lang.reflect.Constructor.newInstance(Constructor.java:525) atorg.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1116) atorg.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:914) atorg.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:604) atorg.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:336) atorg.apache.commons.logging.LogFactory.getLog(LogFactory.java:704) atorg.apache.hadoop.thriftfs.HadoopThriftServer$HadoopThriftHandler.<clinit>(HadoopThriftServer.java:41) atorg.apache.hadoop.thriftfs.HadoopThriftServer.<init>(HadoopThriftServer.java:592) atorg.apache.hadoop.thriftfs.HadoopThriftServer.main(HadoopThriftServer.java:612) log4j:ERRORCouldnotinstantiateappendernamed"EventCounter". Exceptioninthread"main"java.lang.NoClassDefFoundError:org/apache/hadoop/conf/Configuration atorg.apache.hadoop.thriftfs.HadoopThriftServer$HadoopThriftHandler.<init>(HadoopThriftServer.java:125) atorg.apache.hadoop.thriftfs.HadoopThriftServer.<init>(HadoopThriftServer.java:592) atorg.apache.hadoop.thriftfs.HadoopThriftServer.main(HadoopThriftServer.java:612) Causedby:java.lang.ClassNotFoundException:org.apache.hadoop.conf.Configuration atjava.net.URLClassLoader$1.run(URLClassLoader.java:366) atjava.net.URLClassLoader$1.run(URLClassLoader.java:355) atjava.security.AccessController.doPrivileged(NativeMethod) atjava.net.URLClassLoader.findClass(URLClassLoader.java:354) atjava.lang.ClassLoader.loadClass(ClassLoader.java:423) atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) atjava.lang.ClassLoader.loadClass(ClassLoader.java:356) ...3more [root@srv211hadoop-1.0.4]# 从网上查找了一些方法(其中包括修改/tmp/hadoop-1.0.4/conf/log4j.properties文件,把log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter替换成log4j.appender.EventCounter=org.apache.hadoop.log.metrics.jvm.EventCounter)试了试都不行。 既然别人的可以,自己的却不可以。那就要考虑软件环境问题了。与承载Hadoop的操作系统应该是关系不大。可能的就是Hadoop的版本和java SDK的版本了。 本文转自 urey_pp 51CTO博客,原文链接:http://blog.51cto.com/dgd2010/1159468 ,如需转载请自行联系原作者

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

[Android]通过PhoneLookup读取所有电话号码

正文 一、PhoneLookup.CONTENT_FILTER_URI的一般用法 Uriuri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,Uri.encode(phoneNumber)); resolver.query(uri, new String[]{PhoneLookup.DISPLAY_NAME,... API见这里。如果直接如下使用PhoneLookup.CONTENT_FILTER_URI会报IllegalArgument Exception错 getContentResolver().query(PhoneLookup.CONTENT_FILTER_URI,... 二、 技巧用法 Cursorc = getContentResolver().query(Uri.withAppendedPath( PhoneLookup.CONTENT_FILTER_URI, " * " ), new String[]{ PhoneLookup._ID, PhoneLookup.NUMBER, PhoneLookup.DISPLAY_NAME, PhoneLookup.TYPE,PhoneLookup.LABEL}, null , null ,sortOrder); 关键是这个"*",这样就能取到所有的号码以及相关的联系人的姓名以及其他相关字段,比通过联系人再查找其号码要方便很多。 本文转自over140 51CTO博客,原文链接:http://blog.51cto.com/over140/599069,如需转载请自行联系原作者

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

Spark 整合hive 实现数据的读取输出

实验环境: linux centOS 6.7 vmware虚拟机 spark-1.5.1-bin-hadoop-2.1.0 apache-hive-1.2.1 eclipse 或IntelJIDea 本次使用eclipse. 代码: 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.sql.DataFrame; import org.apache.spark.sql.hive.HiveContext; public class SparkOnHiveDemo{ public static void main(String[]args){ //首先还是创建SparkConf SparkConfconf= new SparkConf().setAppName( "HiveDataSource" ); //创建JavaSparkContext JavaSparkContextsc= new JavaSparkContext(conf); //创建HiveContext,注意,这里,它接收的是SparkContext作为参数,不是JavaSparkContext HiveContexthiveContext= new HiveContext(sc.sc()); //1.可以使用HiveContext下面的sql(xxx语句)执行HiveSQL语句 //1.删除表,创建表 //stars_infos,stars_scores hiveContext.sql( "DROPTABLEIFEXISTSstars_infos" ); hiveContext.sql( "CREATETABLEIFNOTEXISTSstars_infos(nameSTRING,ageINT)" + "rowformatdelimitedfieldsterminatedby','" ); //2.向表里面导入数据 hiveContext.sql( "LOADDATA" + "LOCALINPATH" + "'/root/book/stars_infos.txt'" + "INTOTABLEstars_infos" ); hiveContext.sql( "DROPTABLEIFEXISTSstars_scores" ); hiveContext.sql( "CREATETABLEIFNOTEXISTSstars_scores(nameSTRING,scoreINT)" + "rowformatdelimitedfieldsterminatedby','" ); hiveContext.sql( "LOADDATA" + "LOCALINPATH" + "'/root/book/stars_score.txt'" + "INTOTABLEstars_scores" ); //3.从一张已经存在的hive表里面拿数据,转换为DF DataFramesuperStarDataFrame=hiveContext.sql( "SELECTsi.name,si.age,ss.score" + "FROMstars_infossi" + "JOINstars_scoresssONsi.name=ss.name" + "WHEREss.score>=90" ); //4.把DF的数据再持久化到hive中去,千万别和registerTemtable搞混了 hiveContext.sql( "DROPTABLEIFEXISTSsuperStar" ); superStarDataFrame.saveAsTable( "superStar" ); //5.直接从Hive中得到DF hiveContext.table( "superStar" ).show(); sc.close(); } } 元数据: 可以下载附件,然后上传到指定的目录下。 把程序打包jar后上传到linux指定的目录下,写一个脚本。脚本附件见正文。具体内容修改即可。 运行脚本就可以了。当然要保证MySQL数据库正常,hive正常。 附件:http://down.51cto.com/data/2366931 本文转自 ChinaUnicom110 51CTO博客,原文链接:http://blog.51cto.com/xingyue2011/1956798

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

利用 sparksession读取Parquet,Json格式文件

Spark支持的一些常见的格式: 文本文件:无任何的格式 json文件:半结构化 parquet:一种流行的列式存储格式 sequencefile:一种(k-v)的Hadoop文件格式. import org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession object OpsWihtJson_and_parquet { def main(args: Array[String]): Unit = { val sparkconf = new SparkConf().setAppName("test_Spark_sql").setMaster("local[2]") val ss = SparkSession.builder() .config(sparkconf) .getOrCreate() val sc = ss.sparkContext import ss.implicits._ val fileRDD = sc.textFile("/opt/tarballs/spark_kafka/beifengspark/src/main/scala/2015082818") //读文本文件,生成普通rdd,通过.toDF转化为dataframe,然后可以就使用sql了 ss.read.json("/home/zkpk/Desktop/test.json") .createOrReplaceTempView("people") val rs = ss.sql("select * from people") rs.printSchema() rs.show() ss.read.parquet("/home/bymain/Desktop/mllibDATA/scalaLogisticRegressionWithSGDModel/data/part-r-00000-9295ec7d-956a-46e7-91f8-a0b6f8a8ac93.snappy.parquet") .createOrReplaceTempView("users") val rs2 = ss.sql("select * from users") rs2.printSchema() rs.show() sc.stop() ss.stop() } } “` SparkSession实质上是SQLContext和HiveContext的组合(未来可能还会加上StreamingContext),所以在SQLContext和HiveContext上可用的API在SparkSession上同样是可以使用的。SparkSession内部封装了sparkContext,所以计算实际上是由sparkContext完成的。 如果需要读hdfs数据的话,通常走Hive的比较多。一般写sql的时候,能用sparksession解决的,都不会去弄rdd的各种transform和action*

资源下载

更多资源
Mario

Mario

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

腾讯云软件源

腾讯云软件源

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

Nacos

Nacos

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

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册