我必须将mm/dd/yyyy格式的字符串转换为datetime变量,但它应保持为mm/dd/yyyy格式.
string strDate = DateTime.Now.ToString("MM/dd/yyyy");
Run Code Online (Sandbox Code Playgroud)
请帮忙.
我们正在尝试为RDD分配相同的执行程序和相同的分区程序以避免任何网络流量,并且像cogroup和join这样的shuffle操作没有任何阶段边界,并且所有转换都在一个阶段完成.
因此,为了实现这一点,我们使用Java中的自定义RDD类(ExtendRDD.class)包装RDD,该类具有来自RDD.class(在scala中)的覆盖getPreferredLocation函数,如下所示:
public Seq<String> getPreferredLocations(Partition split){
listString.add("11.113.57.142");
listString.add("11.113.57.163");
listString.add("11.113.57.150");
List<String> finalList = new ArrayList<String>();
finalList.add(listString.get(split.index() % listString.size()));
Seq<String> toReturnListString = scala.collection.JavaConversions.asScalaBuffer(finalList).toSeq();
return toReturnListString;
}
Run Code Online (Sandbox Code Playgroud)
有了这个,我们就可以控制spark的行为,看看它将RDD放在集群中的哪个节点.但现在的问题是,由于这些RDD的分区器不同,spark认为它们与shuffle有关,并且再次为这些shuffle操作创建了多个阶段.我们尝试在同一个自定义RDD中覆盖相同RDD.class的分区方法:
public Option<Partitioner> partitioner() {
Option<Partitioner> optionPartitioner = new Some<Partitioner>(this.getPartitioner());
return optionPartitioner;
}
Run Code Online (Sandbox Code Playgroud)
为了让它们处于同一阶段的火花,必须考虑这些RDD来自同一个分区.我们的分区方法似乎不起作用,因为spark为2个RDD提供了不同的分区,并为shuffle操作创建了多个阶段.
我们使用我们的自定义RDD包装scala RDD:
ClassTag<String> tag = scala.reflect.ClassTag$.MODULE$.apply(String.class);
RDD<String> distFile1 = jsc.textFile("SomePath/data.txt",1);
ExtendRDD<String> extendRDD = new ExtendRDD<String>(distFile1, tag);
Run Code Online (Sandbox Code Playgroud)
我们以类似的方式创建另一个自定义RDD,并从该RDD中获取PairRDD(pairRDD2).然后我们尝试使用partitionBy函数将与extendRDD对象相同的分区器应用于PairRDDFunction对象,然后将cogroup应用于:
RDD<Tuple2<String, String>> pairRDD = extendRDD.keyBy(new KeyByImpl());
PairRDDFunctions<String, String> pair = new PairRDDFunctions<String, String>(pairRDD, tag, tag, null);
pair.partitionBy(extendRDD2.getPartitioner());
pair.cogroup(pairRDD2);
Run Code Online (Sandbox Code Playgroud)
所有这些似乎都不起作用,因为当遇到cogroup转换时,spark会产生多个阶段.
有关如何将相同的分区器应用于RDD的任何建议?
我试图在本地模式下在Apache Flink中执行示例程序.
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;
public class WordCountExample {
public static void main(String[] args) throws Exception {
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<String> text = env.fromElements(
"Who's there?",
"I think I hear them. Stand, ho! Who's there?");
//DataSet<String> text1 = env.readTextFile(args[0]);
DataSet<Tuple2<String, Integer>> wordCounts = text
.flatMap(new LineSplitter())
.groupBy(0)
.sum(1);
wordCounts.print();
env.execute();
env.execute("Word Count Example");
}
public static class LineSplitter implements FlatMapFunction<String, Tuple2<String, Integer>> {
@Override
public void flatMap(String line, Collector<Tuple2<String, Integer>> out) …Run Code Online (Sandbox Code Playgroud) 我有一个带有类型字段的蜂巢的镶木桌子
decimal (10,2)
Run Code Online (Sandbox Code Playgroud)
现在,当我在猪中阅读这张桌子时parquet.pig.ParquetLoader,decimal field is getting converted to bytearray and giving junk values.这个问题有什么解决方案吗?
假设我们有一个健康的集群和我们拥有的用例
两个数据集,包含1个Billlion +记录
我们需要比较两个数据集并找出答案
原始数据集中的重复项
我打算写一个
带有连接的SQL查询,用于检查重复项的列
我想知道将是怎样的
此查询的性能以及优化
可以在加入之前在数据集(数据框分区)中完成.
请注意你的观察.
在动态内存分配方面,我是新手.当我们释放内存时,使用void free(void *ptr)内存被释放,但指针的内容不会被删除.这是为什么?最新的C编译器有什么不同吗?
我试图去除json字符串的值,如下所示
{"data":[
{"description":"xxxxxx","created_time":1330356685},
{"description":"zzzz","created_time":1329817903}
]}
Run Code Online (Sandbox Code Playgroud)
我的班级如下:
public class NewFriends
{
public Data[] data { get; set; }
public class Data
{
string description { get; set; }
int created_time { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我去实现值时,我在nFrnds的数组索引中得到空值
NewFriends nFrnds = serializer.Deserialize<NewFriends>(newFriends);
Run Code Online (Sandbox Code Playgroud)
请帮忙!
当我尝试从序列化类对象存储我的值时,我面临不一致的空值引用错误.
if ( item.current_location.city!=null )
{
var city = item.current_location.city.Select(i => i.ToString());
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码片段中,即使item数组中的任何索引具有空值,也会成功插入.但它在某些情况下抛出异常,我认为不能以任何方式区分其他情况(当值为null时)
c# ×3
apache-spark ×2
asp.net ×2
apache-flink ×1
apache-pig ×1
c ×1
datetime ×1
free ×1
hive ×1
java ×1
json ×1
malloc ×1
parquet ×1
pointers ×1