我正在尝试在 pyspark 中加载包含 2015 年至 2020 年数据的文件。我使用正则表达式。
所有正则表达式均在在线网站上进行检查。但是,当我在 pyspark 中使用它们时,它显示错误。看起来 hdfs 不喜欢括号。我尝试了不同的变体
# .load("hdfs:///data/ghcnd/daily/20(1[5-9]|20).csv.gz")
# .load("hdfs:///data/ghcnd/daily/20(15|16|17|18|19|20).csv.gz")
Run Code Online (Sandbox Code Playgroud)
如何正确编写它们,以便我可以从 2015 年到 2020 年的文件中加载数据?
让我说我写一个WordCount示例,然后在eclipse项目中包含一个外部jar文件,如MyJar.jar.现在,如果我将整个WordCount项目导出为word.jar文件,然后键入
$> hadoop jar word.jar WordCount input output
Run Code Online (Sandbox Code Playgroud)
我知道作业执行,word.jar将有一个包含MyJar.jar文件的lib目录.现在,HDFS将在作业运行时存储此jar文件MyJar文件,从而调用此jar文件的方法?
我已将类型为LibSVM的对象序列化为名为j48.model的文件.此文件已传输到HDFS文件系统.
现在,在hadoop mapreduce代码中,如何反序列化此对象并将其读回到类LibSVM的实例中?我已将与LIBSVM相关的.jar文件作为外部jar文件包含在ma reduce项目中.
什么JAVA方法帮助我将文件j48.model的内容读入LibSVM对象?
我正在使用PIG处理数百万条记录的订阅源.从HDFS读取源后,我需要执行三个不同的"分组依据"操作,然后将所有这些的结果合并.让我们说无论关系联盟的架构如何运作良好.现在我的问题是PIG如何生成执行的DAG,并且所有这三个按操作分组将并行执行.
当我运行包含Hbase Bolt的Storm拓扑时,我有以下错误.
java.io.IOException: No FileSystem for scheme: hdfs
at org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2298) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2305) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:89) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2344) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2326) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:353) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.fs.Path.getFileSystem(Path.java:194) ~[hadoop-common-2.0.0-cdh4.7.0.jar:na]
at org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:104) ~[hbase-common-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:201) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:857) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:662) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [na:1.7.0_72]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [na:1.7.0_72]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [na:1.7.0_72]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [na:1.7.0_72]
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:414) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:393) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:274) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:194) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:156) [hbase-client-0.98.1-hadoop2.jar:0.98.1-hadoop2]
at org.apache.storm.hbase.bolt.HBaseBolt$1.run(HBaseBolt.java:97) …Run Code Online (Sandbox Code Playgroud) 鉴于我在Windows系统中开发MapReduce任务,在将它们移动到HDFS集群之前,我想在本地运行MapReduce.我只想检查我的mapper逻辑,inputSplits,输入/输出格式等是如何工作的.有可能吗?
我正在阅读Hadoop教程,我对hadoop中的Block pool有疑问.
块池 - 基本上每个块池彼此独立管理,每个块池都是属于单个命名空间的一组块.
该块池是虚拟概念还是类似于内存中维护的块上的metadat?
我有一个“日志”表,它目前按年、月和日进行分区。我想在“日志”表的顶部创建一个分区视图,但遇到了这个错误:
hive> CREATE VIEW log_view PARTITIONED ON (pagename,year,month,day) AS SELECT pagename, year,month,day,uid,properties FROM log;
FAILED: SemanticException [Error 10093]: Rightmost columns in view output do not match PARTITIONED ON clause
Run Code Online (Sandbox Code Playgroud)
创建分区视图的正确方法是什么?
我在集群上运行一个 spark 简单程序:
val logFile = "/home/hduser/README.md" // Should be some file on your system
val conf = new SparkConf().setAppName("Simple Application")
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println()
println()
println()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
println()
println()
println()
println()
println()
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
15/10/27 19:44:01 INFO TaskSetManager: Lost task 0.3 in stage 0.0 (TID 6) on
executor 192.168.0.19: java.io.FileNotFoundException (File
file:/home/hduser/README.md does not …Run Code Online (Sandbox Code Playgroud) 我想编写一个数据保留shell脚本,当给出两个输入时 - 基本目录和保留期(以天为单位)删除仅比保留期更早的文件(而不是目录).我在互联网上搜索过并且有一些解决方案,但他们列出了目录并根据修改时间删除它们.
但是目录可能具有非常旧的时间戳,但可能包含最近更新的文件.
我该怎么办?命令中的mindepth和maxdepth选项find在HDFS中不起作用.
基目录可以具有多个子目录,这些子目录可以具有子目录等等.
base 目录是 /user/abhikaushik
然后我们有yyyy/mm/dd/hh像base/2017/04/23/22
或base/studies/programming/file1.txt等等形式的子文件夹