参考各个需求文档:
a、可以跳过不符合条件的数据,只读取需要的数据,降低IO数据量
b、压缩编码可以降低磁盘存储空间,由于同一列的数据类型是一样的,可以使用不同的压缩编码。
c、只读取需要的列,支持向量运算,能够获取更好的扫描性
d、parquet 适配多种计算框架,查询引擎(Hive,Impala,Pig,IBM Big SQL);计算框架(MapReduce,Spark,Kite,Cascading等等);数据模型(Avro,Thrift,Protocol Buffers等)
Map,flatMap,filter,case,groupBy,reduceByKey等。
答:我们做过一个DMP项目,用户画像,根据用户社会的一些特有属性,生活的习惯和一些消费行为等信息,从而抽象出一个标签化的用户模型。通过用户的调研去了解用户,然后根据他们的目标,行为和和观点的差异,将他们分为不同的类型,从而可以做一些精准的营销。
答:
hadoop:2.7.5
Spark:Spark2.0
Java:java8
Scala:Scala2.11
答:
数组越界,堆溢出,栈溢出,还有版本冲突。
答:一般是6 - 7人的团队
一个人运维
一个人ETL的活和Hive
两个Spark的活
一个前端
一个领导
一个实习生
答:
主要是Spark的活
答:
公司的领导在我进公司的时候给了我很多的帮助,公司的人也非常的照顾我,公司还有免费提供的共享区域,有零食,咖啡等;
答:
公司发展挺好的,但是太烧钱了。但是呢,公司的运行还是不太规范,社保也没有给缴;
答:
答:
我想继续在大数据这块领域发展,并希望自己可以谋求一个更资深的职位。从我们的谈话中,我认为这个职位给了我学习新技能的机会,而这可以帮助我提高自己。我也希望可在在公司里担负更多的职责,我也有信心能对团队做出积极的贡献,令公司取得更多的成功。
答:
40多个文件,每个大概是70 - 100行左右
答:
一共18个节点
128G内存,(20 + 2 * 1T) 浪潮/戴尔/联想/IBM
20(数据盘)+2(系统)块硬盘 * 1 T(一个节点,一台机器)
答:
50个节点 -> 4台测试
20个节点 -> 3台测试(HA,分布式的效果)
答:
压缩前:150G左右
压缩后:40G左右
答:
5千万左右数据
答:
1KB左右
答:
90个字段,用户ID,浏览器名称,日期,运营商名称,运营商ID,省份名称,城市名称,用的电脑型号,消费习惯,生活区域。我们架构的时候提前把这些设置好,以备使用;
答:
一个月
集群一定要存的下这个值:(30 * 每天的数据量 * 3个副本)
答:
60左右,20个是常态化的脚本
答:
5分钟左右
3-6分钟:太快了吧 。(我们调优做得好,我们集群性能也不错)
10分钟:太慢了吧。(我们集群性能不是很好)
答:
实在说你清楚的时候,就说是同事做的。
答:
package bihuidedaima;
import java.util.ArrayList;
public class Maopaopaixu {
public static void main(String[] args) {
int [] n = {2,33,4,1211,55,332};
int temp;
for (int i = 0; i < n.length; i++){
for (int j = 0; j < n.length - i -1 ; j ++){
if (n[j] < n[j + 1]){
temp = n[j];
n[j] = n[j+1];
n[j+1] = temp;
}
}
}
for (int a : n){
System.out.println(a);
}
}
}
手写wordcount
package bihuidedaima
import org.apache.spark.{SparkConf, SparkContext}
object Wordcount {
def main(args: Array[String]): Unit = {
val conf = new SparkConf()
conf.setAppName(s"${this.getClass.getSimpleName}")
conf.setMaster("local")
val sc = new SparkContext(conf)
val path = sc.textFile("G:\\Scala\\spark1711\\0512第十九天\\wordcount.txt")
path.flatMap(line =>{
line.split(",").map((_,1))
}).reduceByKey(_+_)
// .foreach(println(_))
.saveAsTextFile("G:\\Scala\\spark1711\\0512第十九天\\aa.txt")
}
}
手写单例模式
package bihuidedaima;
/**
* 饿汉式:类加载时,静态变量就存储一个对象
*/
class Window{
private static Window win = new Window();
private Window(){
}
public static Window getInstance(){
return win;
}
}
public class danlimoshi {
public static void main(String[] args) {
Window window = Window.getInstance();
Window window1 = Window.getInstance();
System.out.println(window);
System.out.println(window1);
}
}
package bihuidedaima.单例模式;
/**
* 懒汉式:类加载时,没有指定对象,只有在应用的时候才去创建对象
*/
class Window2{
private static Window2 window2 = null;
private Window2(){
}
public static Window2 getInstance(){
if (window2 == null){
window2 = new Window2();
}
return window2;
}
}
public class danlimoshi2 {
public static void main(String[] args) {
Window2 win1 = Window2.getInstance();
Window2 win2 = Window2.getInstance();
System.out.println(win1);
System.out.println(win2);
}
}