インターネットマーケティングの正確な意思決定、プロジェクトの概要

  今日、私はそれが正確な意思決定のインターネットマーケティングプロジェクトのすべての作業データ処理と分析は、タグを演奏テーブルに、分類の範囲に従って含め、完了している必要があり、体重を設定し、ワイド・テーブルを追加し、価格カテゴリー分析、販売分析、分類

  ここ数日で、開発プロセスでは、私はいくつかの使用のハイブ、HQL文法、ハイブ、ハイブオペレーティングシステムとへのJDBC接続を含め、多くのことを学んだ、もっと重要なステップで、自分のステップを探求するために、教師のニーズに応じて、私は、データの意識の新たな分析を持って、分析するために分類するデータを分割する方法にスコープに従って、手順に従うべきであるデータの種類を知るようになります。

  基本的なノートを含む、私の具体的な操作コードの下に取り付けられているが、執筆の過程があまりにも投資しているため、何のスクリーンショットはないだろう。

  以下自分のレビューハイブを書くとき、コードの概要は、主にも、いくつかの基本的な文法で見ることができ、いくつかの白のデータセットに対して、多くのコードを最適化することができない場合でも、後から使用されているが、すべての後、私はちょうど私と一緒に、クマを学び始めました。

//手机表
テーブルのiphoneを作成します(
    > id文字列、
    >名配列<文字列>、
    >タイトル文字列、
    > StoreNameを文字列、
    > storeid文字列、
    >リンク列、
    >価格はint、
    >キーワード文字列、
    >コメント文字列、
    > goodcom int型、
    >ブランド文字列
    >モデル列、
    >色列、
    >稼働時間文字列
    >システム文字列)
    「」で終了>行フォーマット区切られたフィールド
    『\ T』によって終了>コレクションアイテム
    『の\ n』で終了>行;

(テーブルiphone1を作成します
    > id文字列、
    >名配列<文字列>、
    >タイトル文字列、
    > StoreNameを文字列、
    > storeid文字列、
    >リンク列、
    >価格はint、
    >キーワード文字列、
    >コメント文字列、
    > goodcom整数、
    >ブランド文字列、
    >モデル文字列、
    >色列、
    >稼働時間文字列
    >システム文字列)
    「」で終了>行フォーマット区切られたフィールド
    『\ T』によって終了>コレクションアイテム
    『の\ n』で終了>行;
//電話のデータ・テーブル・清掃後
(iphone1 INTO INSERTを
    !iPhoneからSELECT * WHEREシステム= "");


//ユーザ情報テーブル、テーブル領域識別子がテーブルの代わりに、スプリットと一致しない、テーブルがuserinfo1推奨される
 表のUserInfo(作成
    ID文字列、
    名前の文字列、
    配列を配置<文字列>、
    セックスのString、
    誕生日String)を
        行のフィールドは、区切り形式を終了よる'' 
        '\ N-'で終わる行; 

//行動テーブルは、
テーブルのアクションを作成します(
    >文字列ユーザID、
    > commodityid文字列、
    >文字列の挙動、
    >月の文字列、
    >日String)を
    フォーマット区切られたフィールドで終了>行'' 
    >「\ N-」で終わる行; 

//スプライシングおよび日付テーブルの後に行動
テーブルアクション1(作成し
    たユーザーIDの文字列、
    commodityid文字列を、
    行動列、
    時間列)
    「\ tの」によって終了行形式区切られたフィールド
    「の\ n」で終了行。

//评论表
 (テーブル・コメントを作成
    commodityid文字列、
    文字列、議論する
    時間文字列、
    ユーザーIDの文字列、
    名前の文字列、
    ランク列、
    色文字列、
    replynum文字列、
    スコアはint、
    ソース文字列を)
    「\ tの」で終わる行形式を区切られたフィールド
    終端ライン「\ n」をすることにより、


//拼接日期
アクション1挿入
    >を選択し、ユーザーID、commodityid、行動、CONCAT(月、 " - "、日)アクションから。 
    名の文字列、
    場所アレイ<文字列>、

    commodityidストリング、//用户IDの
    セックスの文字列、
    agetitle int型、
    agerange文字列、
    ランク列)
    「\ tの」で終わる行形式区切られたフィールド
    は「\ n」をによって終了行。


userinfo.id選択userinfo.name、userinfo.place、userinfo.sex、
次いでケース(intとして2019キャスト(SUBSTR(userinfo.birthday、1,4)))<18 1 
(2019キャスト(SUBSTR( userinfo.birthday、1,4)INT))<24を2として
場合(2019キャスト(intとしてSUBSTR(userinfo.birthday、1,4)))<29、次いで3 
とき(2019キャスト(SUBSTR(ユーザー情報。 intとして誕生日、1,4)))<34、次いで4 
intとして場合(2019キャスト(SUBSTR(userinfo.birthday、1,4)))<39、次いで5 
(2019キャスト(SUBSTR(userinfo.birthday、 1,4)intとして))<49それから6 
他の7終わり、
ケース場合(intとして2019キャスト(SUBSTR(userinfo.birthday、1,4)))<18、次いで"18岁以下" 
<場合(intとして2019キャスト(SUBSTR(userinfo.birthday、1,4))) 24次いで、 "以下24岁" 
(intとして2019キャスト(SUBSTR(userinfo.birthday、1,4)))<29、次いで"以下29岁" 
(2019キャスト(SUBSTR(userinfo.birthday、1,4- )としてINT))<34、次いで"以下34岁" 
intとして(2019キャスト(SUBSTR(userinfo.birthday、1,4)))<39、次いで"以下39岁" 
(2019キャスト(SUBSTR(ユーザー情報.birthday、1,4)などのint))<49それから"49岁以下" 
"50岁以上"終わり他
userinfo.id = comment.useridにコメントを参加のUserInfoから、comment.rank。


//查询销售量前十的

選択のブランド、action.commodityid = iphone1.idどこのブランドにiphone1に参加アクションからNUMとしてカウント(*)!= ""

ハイブ>表saleTop10(登録
    商標ストリング、
    scountのINT)
    「\ tの」によって終了行形式区切られたフィールド
        「の\ n」によって終了ライン、

//查询华为旗下的トップ20 
 を選択し、名前、num個のDESC制限20によって、名前順でiphoneブランド= '华为(HUAWEI)'グループからNUMとして(*)カウント。

//华为TOP20表
テーブルHUAWETopSale20(登録
    名配列<ストリング>、
    MCOUNTのINT)
    「\ T」によって終了行形式区切られたフィールド
    「」によって終了コレクションアイテム
    の\ n「で終了行を」。


//插入数据
num個のDESC制限20によって、名前順でiphoneブランド= '华为(HUAWEI)'グループからNUMとして(*)カウント、名前を選択しHUAWETopSale20に挿入します。



 
    MCOUNTのINT)
    「\ T」によって終了行形式区切られたフィールド
    「」によって終了コレクションアイテム
    の\ n「で終了行を」。


//插入数据
num個のDESC制限20によって、名前順でiphoneブランド=「アップル」やブランド=「苹果」グループからNUMとして(*)カウント、名前を選択しAppleTopSale20に挿入します。

//各年龄段手机销售情况表
テーブルagesale(作成
agetitle int型、
モデル列、
カウントINT)
'\ tの'によって終了行形式区切られたフィールド
'の\ n'によって終了ライン、

//插入数据
agesaleに挿入します 
com_user.agetitle、iphone1.modelを選択し、(*)カウントアクションからはaction.commodityid = iphone1.idがagetitleでaction.userid = com_user.commodityidグループにcom_userに参加する上でiphone1に参加し、

 
//ユーザー情報テーブル、テーブル内の一致シンボルをセグメントテーブルの場所、それが推奨されuserinfo1テーブルの領域は
 、テーブルuserinfo1を作成します(
    ID文字列、
    名前の文字列、
    配列を配置<文字列>、
    セックスのString、
    誕生日文字列)
        「で終わる形式区切られたフィールドを行" 
        'で終わるコレクションアイテムの
        ' \ N- 'で終わる行; 

// sales表1 
、表placesale(作成
    addrは文字列、
    モデル文字列、
    ; COUNT int型)

// sales表2を
表placesale1(作成
    addrは文字列、
    モデル文字列、
    COUNT INTを); 



//ユーザータグを設定する
//性別タグテーブル
 テーブルprofile_tag_user_gender(作成
    ユーザーID文字列、
    タグID文字列、 
//ユーザーの評価ラベルテーブル
    文字列タグ変数、
    TagType文字列); 
//ユーザーの年齢ラベルテーブル
表のprofile_tag_user_age_region(作成し
    たユーザーIDの文字列、
    タグID文字列、
    タグ名、文字列、
    tagetype列); 
//テーブルのデータは、ユーザーの年齢に挿入され
profile_tag_user_age_region INTO INSERT 
    > SELECT commodityid、
    > CONCAT(「A111U00100 "キャスト(文字列としてagetitle))、AgeRange、
    >"ユーザーの年齢" 
    com_userから>;  
挿入INTO profile_tag_user_grade 
、SELECT commodityid

 表の作成(profile_tag_user_grade 
    >文字列のユーザーID、
    >タグID文字列、
    >タグ変数文字列、
    > TagType文字列); 


//ユーザレベルメーターの挿入 
、テーブルperson_user_tag_actionを作成します(
actioncount int型); 
//插入数据
person_user_tag_actionに挿入
を選択し、ユーザーID、連結( "B21U001_00"、行動)、

 
    ケース際の行動=「0」である場合には、「クリック」
    したときの動作=「1」、次に「追加カート」
    行動=「2」し、「買う」
    とき行動=「3」その後「懸念」
    他「」エンド、
    「ユーザーの行動」、
    ユーザーID、行動によってアクション・グループからC AS COUNT(*); 

//カスタム重量:購入:5カートに入れる:4を、注意:3、ヒット:カスタム2の冷却率を1.68 

重み付けテーブル@ 
テーブルact_weight_detail作成します(
ユーザーIDの文字列を、
タグID文字列、
タグ名の文字列、
CNTはint、
tagtypeid int型は、
floatをactweight); 


//時間を計算し、データを挿入して使用されます 
SELECT月ザ・は、日、(11-キャスト(月AS int型))* 30、(int型AS 12は、キャスト(日)) 、(11キャストとして(月 C限界20によって行動順序からCとしてINT))* 30+(12キャスト(intとして日))。

//計算TFは、データ内に挿入されます
選択ユーザーID、TF1、ユーザーID制限20によってperson_user_tag_action順から(ユーザーIDによってパーティション)にわたる和(actioncount)として(ユーザIDによってパーティション、TAGID)にわたる和(actioncount)。
//计算IDF、在插入数据中会使用
セレクトTAGID、(TAGIDによって(パーティション)にわたる和(actioncount))/ 477008 person_user_tag_action限界20から。


 
//データ挿入
act_weight_detailへの挿入を
選択action.userid、person_user_tag_action.tagid、person_user_tag_action.tagname、person_user_tag_action.actioncount、キャスト(action.behavior intとして)、
ケース場合action.behavior = "0"、次に2 /(EXP((11キャスト(intとしてaction.month))* 30+(12キャストintとして(action.day))))*(和(actioncount)オーバー(person_user_tag_action.userid、TAGIDによってパーティション)(TAGIDによってパーティション))* person_user_tag_action.actioncount上(person_user_tag_action.useridによってパーティション))* 477008 /(和(actioncount)上/和(actioncount)
action.behavior = "1 "次に、4 /(EXP(intとして(11-CAST(action.month))* 30+(12キャスト(intとしてaction.day))))person_user_tag_action.useridによって(パーティション上*(和(actioncount) TAGIDによって(パーティション))* person_user_tag_action.actioncountオーバーperson_user_tag_action.useridによって(パーティション))* 477008 /(合計(actioncount)を超えるTAGID)/ SUM(actioncount)
場合action.behavior = "2"次に、5 /(EXP((11キャスト(intとしてaction.month))* 30+(12キャストintとして(action.day))))*(和(actioncount)上(person_user_tag_action.userid、TAGIDによってパーティション)/ SUM(actioncount)(person_user_tag_action.useridによってパーティション))* 477008 /(和(actioncount)上(TAGIDによるパーティション)上)/ 477008 * person_user_tag_action.actioncount
//生成宽表
場合action.behavior = "3"次に、3 /(EXP((11キャスト(intとしてaction.month))* 30+(12キャストintとして(action.day))))*(和(actioncount)上(パーティションperson_user_tag_action.useridによって、TAGID)/ SUM(actioncount)(TAGIDによるパーティション)を超える(person_user_tag_action.useridによってパーティション))* 477008 /(合計(actioncount))/ 477008 * person_user_tag_action.actioncount以上の
他に0終了
person_user_tag_actionから参加person_user_tag_action.userid = action.userid上のアクション。



テーブルprofile_user_tb(作成
    >ユーザーID文字列、
    > tagid1文字列、
    > tagname1文字列、
    > tagtype1文字列、
    > tagid2文字列、
    > tagname2文字列、
    > tagtype2文字列、
    > tagid3文字列、
    > tagname3文字列を、
    > Tagtype3文字列
    > tagid4文字列、
    > tagname4文字列、
    > INT ActionCount、
    >フロート、actionweight 
    > tagtype4文字列); 


//データが挿入 
profile_user_tbに挿入
profile_tag_user_gender.userid、profile_tag_user_gender.tagid、profile_tag_user_gender.tagname、profile_tag_user_gender.tagtype、profile_tag_user_age_region.tagid、profile_tag_user_age_region.tagname、profile_tag_user_age_region.tagetype、profile_tag_user_grade.tagid、profile_tag_user_grade.tagname、profile_tag_user_grade.tagtype、act_weight_detail.tagid、act_weight_detail.tagname、act_weight_detailを選択profile_tag_user_genderから.CNT、act_weight_detail.actweightは、 "用户行为" profile_tag_user_gender.userid = profile_tag_user_grade.userid profile_tag_user_gender.userid = act_weight_detail.useridにact_weight_detailの参加にprofile_tag_user_gradeに参加profile_tag_user_gender.userid = profile_tag_user_age_region.useridにprofile_tag_user_age_regionに参加します。


//在pycharm中操作のpython 
//提取评论 
F1 =オープン( "../ comment1.txt"、エンコーディング=」 
F2 =オープン( "../共通" "R +"、エンコーディング= "UTF-8")
行= f1.readline( )
:線一方
    f2.write(line.split( "\ tの")[1] + "\ n")
    行= f1.readline()
f1.close()
f2.close()

//计算评论的字数输出字数:12421790 
コンテンツ= "" 
試みる:
    F =オープン( "../共通"、エンコード= "UTF-8")
    f.readlines()の行のための:
        コンテンツ+ = line.strip()。
    :印刷(、LEN(コンテンツ) "字数")
ValueErrorを除い:
    印刷( "AAAAAA")

//建立分词统计表
 テーブルcomment_word_count_tb(作成
    単語列を、 
    「\ N-」で終わる行; 
//インポートワード統計
負荷データのローカルINPATH「/ホーム/ Hadoopの/ファイル/ wordcutsum」INTO comment_word_count_tb表; 


//テーブル分割時の販売、販売ディスプレイ一日は、
(テーブルdate_range_sail_countを作成します 
 sailcount int型、
 DataRange文字列); 

//範囲の販売価格表は、
表のprice_range_sail_countを作成します(
pricerange文字列、
sailcount int型); 


//入力データへの最初のリストの価格帯の中間テーブルを作成するための
テーブルMID1(作成
     pricerange列); 
//テーブルの中間データに
INSERT MID1 INTO 
    SELECT 
    ケースとき価格<= 1000、その後「千元。 「
    価格<= 2000その後、」1000年から2000年の要素「
    価格<= 3000その後、」2000-3000要素「
    価格<= 5000その後、」3000〜5000の要素「
    価格<= 10000その後」5000〜10000元 "
    価格> = 10000その後、 "10000以上の" 
    他の0終了
    iphone1から; 

//書き込みデータの販売価格範囲テーブルに
 INSERT INTO price_range_sail_count 
    SELECT pricerange、COUNT(*)グループMID1からpricerangeすることにより、

 

おすすめ

転載: www.cnblogs.com/837634902why/p/11505174.html