小编Par*_*esh的帖子

从HDFS到Amazon S3的Hadoop distcp问题

我正在尝试使用数据将数据从HDFS移动到S3 distcp.这项distcp工作似乎成功了,但在S3上,文件没有正确创建.有两个问题:

  1. 不复制文件名和路径.所有文件最终都block_<some number>在存储桶的根目录下.
  2. 它在S3上创建了大量额外文件,包含一些元数据和日志.

我找不到任何文档/示例.我错过了什么?我怎么调试?

以下是一些更多细节:

$ hadoop version 
Hadoop 0.20.2-cdh3u0
Subversion  -r 
Compiled by diego on Sun May  1 15:42:11 PDT 2011
From source with checksum 
hadoop fs –ls hdfs://hadoopmaster/data/paramesh/
…<bunch of files>…

hadoop distcp  hdfs://hadoopmaster/data/paramesh/ s3://<id>:<key>@paramesh-test/
$ ./s3cmd-1.1.0-beta3/s3cmd ls s3://paramesh-test

                       DIR   s3://paramesh-test//
                       DIR   s3://paramesh-test/test/
2012-05-10 02:20         0   s3://paramesh-test/block_-1067032400066050484
2012-05-10 02:20      8953   s3://paramesh-test/block_-183772151151054731
2012-05-10 02:20     11209   s3://paramesh-test/block_-2049242382445148749
2012-05-10 01:40      1916   s3://paramesh-test/block_-5404926129840434651
2012-05-10 01:40      8953   s3://paramesh-test/block_-6515202635859543492
2012-05-10 02:20     48051   s3://paramesh-test/block_1132982570595970987
2012-05-10 01:40     48052   s3://paramesh-test/block_3632190765594848890 …
Run Code Online (Sandbox Code Playgroud)

hadoop amazon-s3 amazon-web-services

9
推荐指数
1
解决办法
2万
查看次数

通过跟踪侦听器动态更改tracel级别

我们有一个巨大的C#代码库,它使用.Net跟踪和自定义跟踪侦听器进行日志记录.我正在探索动态更改跟踪级别的选项(从警告到详细等).我希望有一种方法可以从跟踪侦听器更改跟踪级别,我可以修改自定义侦听器以更改跟踪源上的日志级别.但这似乎不可能.有没有一种简单的方法可以从跟踪侦听器中获取traceource对象(没有反射..)?我试图避免从TraceSource派生来实现动态跟踪级别,因为它将涉及大量的代码更改.有什么建议?

以下是我们追踪的典型方式:

        TraceSource ts = new TraceSource("TestLogSource");
        ts.TraceEvent(TraceEventType.Warning, 0, "warning message");
        ts.TraceEvent(TraceEventType.Error, 0, "error message");

<system.diagnostics>
        <sources>
            <source name="TestLogSource" switchName="GlobalSwitch">
                <listeners>
                    <add name="TestLog"/>
                </listeners>
            </source>
        </sources>
        <sharedListeners>
            <add name="TestLog" initializeData="test.svclog" type="Library.RolloverXmlTraceListener, Library, Version=4.0.0.0, Culture=neutral, PublicKeyToken=1234.."/>
        </sharedListeners>
        <switches>
            <add name="GlobalSwitch" value="Warning" />
        </switches>
    </system.diagnostics>
Run Code Online (Sandbox Code Playgroud)

c# trace

7
推荐指数
1
解决办法
1458
查看次数

结合代表和逆转

该文章陈述如下:http://msdn.microsoft.com/en-us/library/dd799517.aspx

差异不适用于代表组合.也就是说,给定两个类型的委托Action<Derived>Action<Base>(Action(Of Derived)Action(Of Base)在Visual Basic中),您不能将第二个委托与第一个委托合并,尽管结果是类型安全的.Variance允许将第二个委托分配给类型变量Action<Derived>,但委托只有在其类型完全匹配时才能组合.

Action<B> baction = (taret) => { Console.WriteLine(taret.GetType().Name); };
Action<D> daction = baction;
Action<D> caction = baction + daction;
Run Code Online (Sandbox Code Playgroud)

在上面的代码bactiondaction采取不同的参数.但我仍然可以将它们结合起来.我错过了什么?

TIA.

c#

6
推荐指数
1
解决办法
513
查看次数

怎么做'或'匹配但不捕获正则表达式中的'或'部分?

我正在寻找一个可以匹配日期字符串的正则表达式.我在指定'或'表达式时遇到问题:/\d{4}-\d{2}-(XX|\d{2})/不起作用,因为它只返回XX部分:

"2007-01-XX 2008-01-01".scan(/\d{4}-\d{2}-XX/)
["2007-01-XX"]

"2007-01-XX 2008-01-01".scan(/\d{4}-\d{2}-\d{2}/)
["2008-01-01"]
Run Code Online (Sandbox Code Playgroud)

ruby regex

4
推荐指数
1
解决办法
97
查看次数

标签 统计

c# ×2

amazon-s3 ×1

amazon-web-services ×1

hadoop ×1

regex ×1

ruby ×1

trace ×1