• emr-spark


    查spark version:
    spark-sql --version


    spark的开源包: apache的dist下载
    spark-2.4.3-bin-hadoop2.8.tgz

    1/ spark要访问s3需要
    cp /usr/lib/hadoop-current/share/hadoop/tools/lib/*aws* /usr/lib/spark-current/jars/
    socket问题:
    wget https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.3.6/httpclient-4.3.6.jar
    把/usr/lib/spark-current/jars/下面的httpclient-4.5.6.jar换成httpclient-4.3.6.jar就行了

    #刚开始运行时报 socket not created by this factory, 先是想到替换spark的包,还是不行,替换httpclitent就可以了.

    <property>
    <name>fs.s3a.access.key</name>
    <value>access.key</value>
    </property>
    <property>
    <name>fs.s3a.secret.key</name>
    <value>secret.key</value>
    </property>
    <property>
    <name>fs.s3a.impl</name>
    <value>org.apache.hadoop.fs.s3a.S3AFileSystem</value>
    </property>

    #振乾发的:emr hadoop访问s3
    sudo cp /usr/lib/hadoop-current/share/hadoop/tools/lib/*aws* /usr/lib/hadoop-current/share/hadoop/common/lib/
    sudo cp /usr/lib/hadoop-current/share/hadoop/tools/lib/*jackson* /usr/lib/hadoop-current/share/hadoop/common/lib/
    sudo cp /usr/lib/hadoop-current/share/hadoop/tools/lib/joda-time-2.9.4.jar /usr/lib/hadoop-current/share/hadoop/common/lib/


    #测试例子

    例子1 测访问s3
    pyspark --queue algo_spark

    data = spark.sql("""
    select * from oride_source.order_driver_feature_new where dt="{dt}" and hour="10"
    """.format(dt="2020-01-09"))

    data.take(2)

    例子2 测访问s3
    su - hdfs
    cd /home/hdfs/bowen.wang/algo-offline-job/direct_dispatch_info
    PYTHONPATH=./ /usr/lib/spark-current/bin/spark-submit --queue algo_spark ./all_city_driver_info.py prod

    例子3:指定参数的pyspark

    pyspark --queue algo_spark --num-executors 15 --executor-cores 5 --executor-memory 10G --driver-memory 10G

    例子4  测试json有没有

    pyspark --queue data_bi --master yarn-client
    tmp = """ select d_h_id, d_h_od from oride_source.order_driver_feature_new where dt="2020-01-19" and hour="00" """
    data = spark.sql(tmp).rdd
    data.take(2)
    [Row(d_h_id=1, d_h_od=None), Row(d_h_id=2, d_h_od=None)]

    例子5 用spark sql直接在header2上用spark-sql 或hue上选spark sql

    use opay_dw;
    select * from dwd_opay_topup_with_card_record_di where dt='2020-02-05';

  • 相关阅读:
    bzoj3224
    [洛谷日报第62期]Splay简易教程 (转载)
    bzoj1588
    codeforces467C
    codeforces616B
    codeforces379C
    codeforces545C
    codeforces285C
    codeforces659C
    快读代码level.2
  • 原文地址:https://www.cnblogs.com/hongfeng2019/p/12179315.html
Copyright © 2020-2023  润新知